>>OSI[Open System Interconnection] 7계층 모델<<
>>TCP/IP 프로토콜 및 주소<<
7. Application | 사용자로 하여금 네트워크 자원들에 접근하도록 허용 |
6. Presentation | 데이터의 암호화와 압축을 담당-[송신부의 암호화,압축/수신부의 복호화,압축해제] |
5. Session | 세션의 연결, 관리, 종료를 담당 |
4. Transport | 한 프로세스와 자신 또는 다른 노드의 프로세스간의 메시지 전송 담당 |
3. Network | 소스 호스트와 목적지 호스트간의 Packet전송을 담당 [Source-to-Destination 전송] |
2. Data link | 한노드에서 다른 노드로 Frame전송을 담당 [Hop-to-Hop 전송] 하위 계층에서 발생한 에러를 감지 및 복구 |
1. Physical | 물리 계층으로 "비트->전기신호->비트" 변환을 제어 |
4 Layer - TCP : port#
3 Layer - IP : network
2 Layer - LLC (Logical Link control)
- MAC
>>TCP/IP 프로토콜 및 주소<<
SMTP / FTP / HTTP / DNS / SNMP / TELNET ... |
SCTP / TCP / UDP |
IP |
Protocols defined by the underlying networks |
Data
Data + j k
Data + j k + A P
T2 + Data + j k + A P + H2
|
v
Internet
|
v
T2 + Data + j k + A P + H2
Data + j k + A P
Data + j k
Data
이렇게 주고 받는 것이 물리주소, IP주소, 포트주소를 사용한 프로세스간의 통신이다.
>>IP패킷 라우팅 기법<<
패킷을 최종 목적지로 전송하기 위한 경로(Route)탐색
호스트 또는 라우터가 라우팅 테이블을 가지고있다.
>>Fragmentation & Defragmentation<<
데이터그램이 하위 물리 프로토콜 규정에 맞게 여러개의 패킷으로 나뉘어지고 다시 하나로 통합되는 작업
>>Checksum<<
대부분의 TCP/IP 프로토콜에 의해서 사용되는 에러 검출 방식
>>ARP 프로토콜<<
IP주소를 물리주소로 변환하는 프로토콜
우리가 데이터를 보낼때는 SPA(Source Protocol Address), DPA(Destination Protocol Address), SMA(Source MAC Address), DMA(Destination MAC Address) 이 4가지를 알아야 한다.
그런데 host에서 보낼때 자신의 protocol address와 mac address, 타겟의 mac address 는 알수 있지만 타겟의 mac address는 알지 못한다.
이 타겟의 mac address를 알기 위해서 ARP 요청을 하는 것이다.
그 응답으로 우리는 타겟, 혹은 타겟으로 가기위해 거쳐서 가야하는 라우터의 mac address와 protocol address 를 알고 그 곳으로 보내면서 우리가 원하는 타겟으로 쭉~ 보낼수 있게 되는 것이다.
>>UDP통신<<
UDP의 경우에는 데이터 그램 형식으로 데이터를 주고 받는다.
데이터를 마구 보내기만 하고 무지막지하게 받기만 할뿐 그 데이터의 신뢰를 보장하지는 않는다.
그리고 UDP는 단방향 통신만 가능하다.
통신을 위해서 사용되는 Socket address 는 IP address 와 port# 에 의해서 정해진다.
o캡슐화 & 역캡슐화 (Encapsulation & Decapsulation)
o다중화 & 역다중화(Multiplexing & Demultiplexing)
>>TCP통신<<
TCP의 경우에는 스트림 형식으로 데이터를 주고 받는다.
양방향 통신이 가능하고. TCP를 통한 데이터는 전송에 대해 신뢰를 보장한다.
o Connection
o 데이터 전송
o Connection 해제
o 통신 시나리오 정리
o TCP State Transition Diagram
o Socket function in TCP protocol
'Embedded > Network Protocol & Linux Network' 카테고리의 다른 글
2일차]네트워크 프로토콜 및 리눅스 네트워크 프로그래밍 (0) | 2011.01.26 |
---|---|
1일차]네트워크 프로토콜 및 리눅스 네트워크 프로그래밍 (0) | 2011.01.25 |