작성날짜 : 2011-03-17 |
출처 : ehclub - http://cafe.daum.net/sbehclub?t__nil_cafemy=item
IPv4 Stack
Version | IHL | codepoint |
|
| Total Length | ||||
Fragment ID |
| D F | M F | Fragment offset | |||||
TTL | Protocol | Checksum | |||||||
Source Address | |||||||||
Destination Address | |||||||||
옵션과 Pagload | |||||||||
IP 프로토콜
RFC 791에 정의되어 있는 모든 IP 기반 네트워크에 사용되는 데이터 트래픽에 대한 기본 서비스를 제공
데이터그램 기반으로 만들어졌다.
전화망의 circuit-switching방식과 달리 packet-switching방식을 사용한다.
- 롤 데이터 전송 계층의 차이를 감추고 상이한 네트워크 기술(LAN, SLIP, PP, 모뎀, ISDN 등)에 대한 일관된 표현을 제공한다.
IP Address family를 통해 Uniform address scheme를 제공
큰 데이터 패킷은 fragmentation하여 작은 패킷 크기로 전송
(통신에 거치는 모든 네트워크 기술들의 MTU중 최소 MTU에 맞춰서 fragmentation한다.)
Version
현재는 v4(0x800)와 v6(0x86DD)만 정의되어 있다.
IHL
패킷 헤더의 길이 (패킷의 헤더는 가변적이다)
옵션을 사용하면 패킷 헤더의 길이는 5옥텟(1옥텟은 4바이트)를 넘을 수 있다. 최대 15옥텟(60바이트)
Codepoint
ToS라고 불렀었던 것을 RFC2474에서 Differentiated Services Codepoint라고 이름을 변경하였다.
IP에 사용되는 forwarding behavior를 나타낸다.
Total Length
패킷 전체의 길이, 최대 64K
RFC791에 의하면 576바이트인 데이터 패킷을 처리할 수 있어야 한다고 명시(길이가 더 큰 패킷도 처리할 수 있다.)
Fragment ID
원래 하나였던 패킷을 fragmenation을 했을 때 모든 fragments는 동일한 fragment id를 갖는다.
Flags
DF : 데이터그램이 fragment되지 말아야 함을 나타낸다. (쪼개지 말아야 한다)
MF: fragment가 되었음을 나타냄, 마지막 fragment에는 표시되지 않는다. (쪼개져 있다)
Fragment Offset
Fragment의 일련번호
수신부에서 원래의 데이터그램으로 재구성하기 위해 필요하다.
TTL
IP 패킷의 수명을 제한하기 위하여 사용
패킷이 라우터를 거칠 때마다 1감소되며 0이되면 패킷은 제거된다.
라우터에서 버퍼링을 위해 1이상 감소시키는 경우도 있다.
Protocol
전송 계층의 구분
TCP(6), UDP(17), IGMP(2)
Checksum
IP 패킷 허더 필드들에 대한 checksum
라우터를 거쳐가면서 TTL이 감소하기 때문에 매번 다시 계산된다.
Checksum필드를 제외한 부분을 16비트 단위로 1의 보수의 합을 계산한 값이다.
유효한 패킷인지 확인하기 위한 용도로 있는 필드이다.
Internet 주소 체계
IP Address - 인터넷 상의 컴퓨터를 구분, IP네트워크 상의 각 컴퓨터는 유일한 주소를 갖는다.
Transport ID - 어떤 전송 프로토콜을 사용하는지 구분
Port number - 전송 프로토콜을 사용하는 특정 응용을 구분한다.
IP Address Classes
IANA(Internet Assigned Numbers Authority)와 국가 대표에서 IP주소 할당
개개의 IP주소 단위로 할당하지 않는다.
network classes로 구분되는 블록 단위로 할당된다.
IP Address 구성
네트워크 부분
- 같은 네트워크에 소속되어 있는 컴퓨터들은 모두 같은 값을 갖는다.
- Station이 소속되어 있는 네트워크를 나타낸다.
호스트 부분
- 하나의 네트워크 내부의 컴퓨터를 구분한다.
IP Address
32 비트 길이를 갖는다.
4개의 마디로 표현되며 각 마디는 .로 구분한다. (각 마디는 0~255값을 갖음)
5개의 클래스로 구분
IP주소의 prefix 부분은 클래스, 중간이 network주소, 끝이 호스트 주소로 구성
'Programming > Network' 카테고리의 다른 글
[Network] UDT Server (0) | 2015.05.11 |
---|---|
[Network] TCP 서버 (0) | 2015.05.11 |
[Network] IPC (0) | 2015.05.11 |
[Network] IOCP (0) | 2015.05.11 |
[Network] connect (0) | 2015.05.11 |