목차
1. TCP/IP의 이해 1
2. TCP/IP 프로토콜군의 구성 2
3. 네트웍 액세스 계층 2
4. 인터넷 계층 3
(1) IP 주소(IP address)
(2) 서브네팅(subnetting) 4
(3) IP 패킷 구조 6
(4) 인터넷 계층의 동작 6
1)데이터 전송 6
2) ICMP(Internet Control Message Protocol) 7
3) ARP(Address Resolution Protocol) 7
4) RARP 9
5) SLIP과 PPP 9
5. 트랜스포트 계층 10
(1) 연결형과 비연결형 서비스 10
(2) 트랜스포트 프로토콜 11
(3) TCP 11
(4) UDP 13
6. 어플리케이션 계층 13
참고문헌 및 웹사이트
2. TCP/IP 프로토콜군의 구성 2
3. 네트웍 액세스 계층 2
4. 인터넷 계층 3
(1) IP 주소(IP address)
(2) 서브네팅(subnetting) 4
(3) IP 패킷 구조 6
(4) 인터넷 계층의 동작 6
1)데이터 전송 6
2) ICMP(Internet Control Message Protocol) 7
3) ARP(Address Resolution Protocol) 7
4) RARP 9
5) SLIP과 PPP 9
5. 트랜스포트 계층 10
(1) 연결형과 비연결형 서비스 10
(2) 트랜스포트 프로토콜 11
(3) TCP 11
(4) UDP 13
6. 어플리케이션 계층 13
참고문헌 및 웹사이트
본문내용
정적인 데이터 전달을 필요로 하는 응용 프로그램은 대부분 TCP를 사용하고 있고 어떤 응용 프로그램은 UDP를 사용해야만 하는 경우도 있는데 이러한 경우는 다음과 같다.
응용 프로그램이 UDP만을 사용하도록 작성되어 있는 경우
패킷을 방송(broadcast) 또는 멀티캐스트 해야 하는 경우
TCP 처리 오버헤드 때문에 TCP로 처리할 시간이 없는 경우(실시간 서비스 등)
(3) TCP
TCP는 신뢰성 있는 종점간 데이터 전달을 책임지며 스트림(stream)형의 서비스를 제공함으로써 상위 계층의 통신 엔티티 사이에 투명한(transparent) 데이터 전달 환경을 제공한다고 한다.
TCP의 프로토콜 데이터 단위(Protocol Data Unit: PDU)의 구조는 그림 1-11와 같으며 TCP 헤더 각 필드의 기능을 표 1-4에 정리하였다.
TCP 프로토콜 데이터 단위 (PDU)
필 드 명
길이
기 능
Source Port
16
송신측의 응용 프로세스를 구분하는 포트번호
Destination Port
16
수신측의 응용 프로세스를 구분하는 포트번호
Sequence Number
32
송신된 데이터의 순서번호(바이트 단위)
Ack Number
32
수신된 데이터 바이트 수 + 1(아래의 ACK=1일 때 의미가 있음)
Header Length
4
헤더크기(4바이트 단위)로 보통 5가 된다
Code
Bits
SYN
1
연결 요청시 사용되며 Sequence Number가 초기값임을 알린다.
ACK
1
Ack용 데이터임을 표시(이때 Ack Number 값이 유효하다)
URG
1
긴급 데이터임을 표시(이때 Urgent Pointer 값이 유효하다)
FIN
1
접속을 종료하는 데 사용
RST
1
접속을 리셋하는 데 사용
Window
16
흐름제어용 윈도우 크기(바이트 단위)
Checksum
16
TCP PDU 전체와 IP계층의 헤더 중 후반부 12바이트(송수신지 IP 주소 등)에 대한 오류 검출코드
Urgent Pointer
16
긴급 데이터가 들어 있는 위치를 표시
TCP 헤더의 각 필드의 기능
TCP에서는 종점 장비간의 연결 설정을 위하여 three- way handshake를 사용한다.
OSI 표준의 패킷 교환망(X.25)의 네트웍 계층에서는 two-way handshake를 사용하는데 이 들의 차이는 다음과 같다.
Two-way handshake : 연결 접속요구에 대하여 상대방이 응답을 하면(즉, 제어정보가 두 방향으로 갔다 오면) 연결이 이루어진다.
Three-way handshake : 연결 접속요구(Request For Connect : RFC)에 대하여 상대방도 이를 확인하면서 다시 연결 접속요구(RFC)를 하고 이에 대해 처음의 연결 요구측에서 ACK를 보내야 연결이 되는 것으로 이중으로 연결절차를 확인한다. 트랜스포트 계층에서 three- way handshake를 사용하는 이유는 중간의 서브네트웍의 종류에 무관하게 종점간 의 안정적인 연결을 확인하기 위해서이다(예를들면 연결요구 패킷의 손실 등).
TCP는 한번의 명령으로 보낼 수 있는 데이터의 크기가 제한되지 않으므로 임의의 길이의 큰 파일을 전송할 수 있다(UDP에서는 한 번에 전송할 데이터가 UDP 최대 데이터그램 크 기보다 크면 뒷 부분이 전송되지 않는다).
TCP에서는 흐름제어를 패킷 단위가 아니라 데이터 분량(바이트 단위)으로 수행한다.
송신측은 상대방이 최근에 보내온 TCP 헤더의 Window 값(표 1-4참조)을 읽어 바이트 단 위인 Window 크기(이를 credit 값이라 한다.) 내에서만 TCP 데이터를 전송할 수 있다.
상대방 즉, 수신측은 자신의 데이터 처리 능력과 네트웍 사정에 따라 Window 값을 바꿈으 로써 흐름제어를 할 수 있다.
(4) UDP
DP(User Datagram Protocol)의 오버헤드는 TCP 보다 작다.
수신지 및 목적지의 포트번호(16비트), 데이터그램 길이(16비트), Checksum 그리고 사용자 데이터로 구성된다.
UDP 프로토콜 데이터 단위
UDP는 신뢰할 수 있는 종점간 데이터 송수신을 보장하지 않으므로 파일 전송, 메일 서비스 등에는 적합하지 않다. 도메인 네임(domain name) 서비스나, time 서비스와 같이 한 패킷의 송수신으로 어떤 서비스가 이루어지는 경우에 많이 사용된다. LAN과 같이 전송 오류가 거의 없고 패킷의 전달 순서가 바뀌지 않는 환경에서는 TCP보다 처리 속도가 빠른 UDP가 유리할 수 있다. LAN에서 제공되는 NFS(Network File System)는 UDP를 사용한다.
6. 어플리케이션 계층
이 계층에는 FTP, Telnet, SNMP,DNs 등의 여러 TCP/IP 유틸리티와 서비스가 있으며, 마이크로소프트 TCP/IP에서는 네트워크 응용 프로그램에 대해 WinSock과 NetBIOS 인터페이스를 제공하여 TCP/IP 프로토콜 스택의 서비스를 사용할 수 있게 하였습니다.
-Window Socker: Winsock은 마이크로 소프트 원도우에서 TCP/IP를 지원하는 표준 프로그래밍 인터페이스로서, 윈도우 응용 프로그램들은 TCP/IP 프로토콜 스택상에서 Winsock의 규약을 따르고 있습니다. Winsock 2는 Winsock의 차기 버전으로서 32비트용으로 개발되었으며, 다중 프로토콜과 프로토콜에 독립적인 이름분해 기능과 IPX/SPX, ISDN, ATM을 지원하고 있습니다.
-NetBIOS over TCP/IP: 이름 데이터 그램 그리고 세셔서비스를 포함하는 NetBIOS서비스 NetBIOS기반의 응용 프로그램과 TCP/IP 프로토콜 사이의 표준 인터페이스를 제공합니다.
참고문헌 및 웹 사이트
'멀티미디어 기술을 활용한 실용인터넷' 괴윤철, 한탁돈, 조성배 공저, 생능 출판사
http://my.netian.com/~web/net/tcpip/tcpip.htm
http://firebolt.hihome.com/
http://redalert.java.rp2.co.kr/packet/protocol.htm#3
http://inhavision.inha.ac.kr/~s1985001/int3.html
응용 프로그램이 UDP만을 사용하도록 작성되어 있는 경우
패킷을 방송(broadcast) 또는 멀티캐스트 해야 하는 경우
TCP 처리 오버헤드 때문에 TCP로 처리할 시간이 없는 경우(실시간 서비스 등)
(3) TCP
TCP는 신뢰성 있는 종점간 데이터 전달을 책임지며 스트림(stream)형의 서비스를 제공함으로써 상위 계층의 통신 엔티티 사이에 투명한(transparent) 데이터 전달 환경을 제공한다고 한다.
TCP의 프로토콜 데이터 단위(Protocol Data Unit: PDU)의 구조는 그림 1-11와 같으며 TCP 헤더 각 필드의 기능을 표 1-4에 정리하였다.
TCP 프로토콜 데이터 단위 (PDU)
필 드 명
길이
기 능
Source Port
16
송신측의 응용 프로세스를 구분하는 포트번호
Destination Port
16
수신측의 응용 프로세스를 구분하는 포트번호
Sequence Number
32
송신된 데이터의 순서번호(바이트 단위)
Ack Number
32
수신된 데이터 바이트 수 + 1(아래의 ACK=1일 때 의미가 있음)
Header Length
4
헤더크기(4바이트 단위)로 보통 5가 된다
Code
Bits
SYN
1
연결 요청시 사용되며 Sequence Number가 초기값임을 알린다.
ACK
1
Ack용 데이터임을 표시(이때 Ack Number 값이 유효하다)
URG
1
긴급 데이터임을 표시(이때 Urgent Pointer 값이 유효하다)
FIN
1
접속을 종료하는 데 사용
RST
1
접속을 리셋하는 데 사용
Window
16
흐름제어용 윈도우 크기(바이트 단위)
Checksum
16
TCP PDU 전체와 IP계층의 헤더 중 후반부 12바이트(송수신지 IP 주소 등)에 대한 오류 검출코드
Urgent Pointer
16
긴급 데이터가 들어 있는 위치를 표시
TCP 헤더의 각 필드의 기능
TCP에서는 종점 장비간의 연결 설정을 위하여 three- way handshake를 사용한다.
OSI 표준의 패킷 교환망(X.25)의 네트웍 계층에서는 two-way handshake를 사용하는데 이 들의 차이는 다음과 같다.
Two-way handshake : 연결 접속요구에 대하여 상대방이 응답을 하면(즉, 제어정보가 두 방향으로 갔다 오면) 연결이 이루어진다.
Three-way handshake : 연결 접속요구(Request For Connect : RFC)에 대하여 상대방도 이를 확인하면서 다시 연결 접속요구(RFC)를 하고 이에 대해 처음의 연결 요구측에서 ACK를 보내야 연결이 되는 것으로 이중으로 연결절차를 확인한다. 트랜스포트 계층에서 three- way handshake를 사용하는 이유는 중간의 서브네트웍의 종류에 무관하게 종점간 의 안정적인 연결을 확인하기 위해서이다(예를들면 연결요구 패킷의 손실 등).
TCP는 한번의 명령으로 보낼 수 있는 데이터의 크기가 제한되지 않으므로 임의의 길이의 큰 파일을 전송할 수 있다(UDP에서는 한 번에 전송할 데이터가 UDP 최대 데이터그램 크 기보다 크면 뒷 부분이 전송되지 않는다).
TCP에서는 흐름제어를 패킷 단위가 아니라 데이터 분량(바이트 단위)으로 수행한다.
송신측은 상대방이 최근에 보내온 TCP 헤더의 Window 값(표 1-4참조)을 읽어 바이트 단 위인 Window 크기(이를 credit 값이라 한다.) 내에서만 TCP 데이터를 전송할 수 있다.
상대방 즉, 수신측은 자신의 데이터 처리 능력과 네트웍 사정에 따라 Window 값을 바꿈으 로써 흐름제어를 할 수 있다.
(4) UDP
DP(User Datagram Protocol)의 오버헤드는 TCP 보다 작다.
수신지 및 목적지의 포트번호(16비트), 데이터그램 길이(16비트), Checksum 그리고 사용자 데이터로 구성된다.
UDP 프로토콜 데이터 단위
UDP는 신뢰할 수 있는 종점간 데이터 송수신을 보장하지 않으므로 파일 전송, 메일 서비스 등에는 적합하지 않다. 도메인 네임(domain name) 서비스나, time 서비스와 같이 한 패킷의 송수신으로 어떤 서비스가 이루어지는 경우에 많이 사용된다. LAN과 같이 전송 오류가 거의 없고 패킷의 전달 순서가 바뀌지 않는 환경에서는 TCP보다 처리 속도가 빠른 UDP가 유리할 수 있다. LAN에서 제공되는 NFS(Network File System)는 UDP를 사용한다.
6. 어플리케이션 계층
이 계층에는 FTP, Telnet, SNMP,DNs 등의 여러 TCP/IP 유틸리티와 서비스가 있으며, 마이크로소프트 TCP/IP에서는 네트워크 응용 프로그램에 대해 WinSock과 NetBIOS 인터페이스를 제공하여 TCP/IP 프로토콜 스택의 서비스를 사용할 수 있게 하였습니다.
-Window Socker: Winsock은 마이크로 소프트 원도우에서 TCP/IP를 지원하는 표준 프로그래밍 인터페이스로서, 윈도우 응용 프로그램들은 TCP/IP 프로토콜 스택상에서 Winsock의 규약을 따르고 있습니다. Winsock 2는 Winsock의 차기 버전으로서 32비트용으로 개발되었으며, 다중 프로토콜과 프로토콜에 독립적인 이름분해 기능과 IPX/SPX, ISDN, ATM을 지원하고 있습니다.
-NetBIOS over TCP/IP: 이름 데이터 그램 그리고 세셔서비스를 포함하는 NetBIOS서비스 NetBIOS기반의 응용 프로그램과 TCP/IP 프로토콜 사이의 표준 인터페이스를 제공합니다.
참고문헌 및 웹 사이트
'멀티미디어 기술을 활용한 실용인터넷' 괴윤철, 한탁돈, 조성배 공저, 생능 출판사
http://my.netian.com/~web/net/tcpip/tcpip.htm
http://firebolt.hihome.com/
http://redalert.java.rp2.co.kr/packet/protocol.htm#3
http://inhavision.inha.ac.kr/~s1985001/int3.html
키워드
추천자료
네트웍 컴퓨팅-CSMA/CD,FDDI,광섬유의종류,IP주소와Domain Name
인터넷 탐방기
TCP IP Protocol 개요 및 기술동향 Mobile IP 네트워크
MBONE(ip-멀티테스킹)
MPLS VPN 프로젝트
[방화벽][방화벽시스템][보안][보안시스템][방화벽 정의][방화벽 구조][방화벽 장점][방화벽 ...
부트스트랩 프로토콜
VOIP (voice over internet protocol) 에 대하여
인터넷의이해
홈페이지 제작메뉴얼,홈페이지 만들기,홈페이지 html,웹사이트교육적활용,웹사이트의개발절차...
OSI 참조 모델
정보검색사 1급, 2급시험대비 정리 및 요약