※인프런 강의를 보고 정리한 내용입니다.
웹개발자라면 기본적으로 알고있어야할 인터넷 네트워크에 대해서 정리한다.
인터넷 네트워크는 4가지로 구성된다.
1. IP(Internet Protocol)
2. TCP/UDP
3. PORT
4. DNS
1. IP(Internet Protocol)
IP란?
client와 server가 통신하기 위해 여러개의 노드로 연결된 인터넷망을 이용하는데
이때 통신을 위해 사용하는 것이 IP이다.
IP는 인터넷 프로토콜, IP 프로토콜 이라고도 이야기한다.
IP의 통신 방법
client와 server에 각각 IP를 부여해주고 (예를들어 client = 100.100.100.1, server = 200.200.200.2)
패킷(Packet)이라는 통신단위로 데이터를 전달한다.
IP패킷의 구성
패킷의 정보는 다음과 같이 구성된다
전송할 데이터를 출발지 IP, 도착지IP, 기타의 정보들로 감싸 패킷으로 만들고 통신을 한다.
IP 프로토콜의 한계점
IP 프로토콜은
1. 대상 서버가 패킷을 받을 수 있는 상태가 아닌 경우 전송 중 패킷 손실
2. 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상인 경우 패킷 전달 순서 불분명
과 같은 한계점이 존재한다.
2. TCP/UDP
TCP/UDP를 알기전 인터넷 프로토콜 스택의 4계층을 알아본다.
계층은 다음과 같은 구조로 되어있다.
어플리케이션 계층에서 부터 밑으로 내려가면서 통신이 된다.
TCP란?
TCP는 전송제어 프로토콜로
3 way handshake (1. sync 2. sync-ack 3. ack) 연결지향, 데이터 전달 보증, 패킷 전달순서 보장의 특징을 가진다.
현재 대부분이 TCP를 사용한다.
TCP/IP 패킷 구성
TCP패킷은 IP패킷과 전송 데이터 사이에 감싼 형태로 구성이 된다.
UDP란?
UDP는 사용자 데이터 그램 프로토콜로
IP와 유사하며 PORT와 체크섬 정도만 추가된 프로토콜이다.
3. PORT
예를 들면 IP가 300.300.300.3인 서버에 게임, 화상통화, 웹 브라우저 요청 등
하나의 서버에 둘이상의 연결을 해야하는 경우 프로세스를 구분하기 위해 PORT를 붙혀주게 된다.
PORT번호는 이렇게 붙힐 수가 있다.
• 0~ 65535 : 할당가능
• 0 ~ 1023 : 잘 알려진 포트, 사용하지 않는 것이 좋음
• FTP : 20, 21
• TELNET : 23
• HTTP : 80
• HTTPS : 443
아파트를 IP라고 보고 그 안에 있는 동/호수를 PORT라고 보면 이해하기가 쉽다.
4. DNS(Domain Name System)
IP는 변경이 될 수 있고, 외우기 힘들기 때문에 DNS를 사용하여 도메인 명을 IP주소로 변환해준다.
DNS서버를 이용하여 IP를 등록하고 도메인명을 지정해주면
도메인명을 통해 통신이 가능해진다.
IP가 변경된 경우 DNS서버에서 IP만 변경해주면 된다.
'일일일 > 끄적끄적✍' 카테고리의 다른 글
인프런 기술과제를 마무리하고 (0) | 2021.12.26 |
---|---|
미스터멘션 경력 면접, 뒤늦은 후기(+추가) (0) | 2021.12.11 |
아니 내가 인프런 서류합격이라니...? (0) | 2021.12.09 |
카카오 브레인 패스파인더 코딩테스트 결과...! (0) | 2021.12.09 |
java 개발자 이직을 위한 면접질문 정리 (0) | 2021.12.01 |
댓글