1. IP주소
1. 개념
- 컴퓨터를 구분하기 위해 사용되는 주소
- 네트워크 주소(subnet part) + 호스트 주소(host part)
2. 종류
1) IPv4 : 4bytes(32bits)
- 주소는 8bits씩 묶어 .으로 구분하여 표시 ex) 223.1.1.1 = 11011111 00000001 00000001 00000001
2) IPv6 : 16 bytes
=> tunneling : IPv4영역에 IPv6를 감싸서 속여서 보내기
3. 주소 체계
1) Classful Addressing
- IP주소를 규격화된 크기(class)별로 구분하는 주소체계
- 첫 번째 바이트의 비트 정보로 어떤 class를 쓰고 있는지 알 수 있다.
2) CIDR (Classless InterDomain Routing)
- class없이 서브넷마스크(prefix)로 네트워크 주소 부분의 비트 크기를 알 수 있다.
2. PORT 번호
1. 개념
- 소켓을 구분하는 용도
- 하나의 프로그램에서 2개 이상의 소켓이 존재할 수 있으므로, 2개 이상의 port가 하나의 프로그램에 할당될 수 있다.
2. 소켓 타입
- transport layer에서 나뉜다.
1) TCP(연결 지향)
- 중간에 데이터가 소멸되지 않는다.
- 전송 순서대로 수신이 된다.
- 데이터의 경계가 존재하지 않는다. ex) 1, 2, 3 다음 4가 와도 1, 2, 3, 4와 동일하게 받아들인다.
- socket 연결은 반드시 1:1
2) UDP(비연결 지향)
- 데이터 손실 및 파손 우려가 있다.
- 데이터의 경계가 존재 : 송수신자 socket이 1:1이 아니라서 어떤 host의 데이터인지 구별이 필요하기 때문
+) CPU에 따라 달라지는 정수 표현
- 송수신자 간의 데이터 해석이 같아야 하므로 통일해줄 필요가 있다.
- 빅 엔디안 : 상위 바이트의 값을 작은 번지수에 저장, 네트워크 바이트 순서
- 리틀 엔디안 : 상위 바이트 값을 큰 번지수에 저장 (거꾸로 읽음)
'CS > 네트워크' 카테고리의 다른 글
DNS 서버 (0) | 2021.09.22 |
---|---|
Network Layer (0) | 2021.09.22 |
TCP/IP 프로토콜 (0) | 2021.09.22 |
OSI 7계층과 Socket Programming (0) | 2021.09.22 |