* 공부 정리일자 (2022년 3월 7일)
- 책&강의 : 후니의 쉽게 쓴 시스코 네트워크, 정보통신개론 / 컴퓨터 네트워크 (김삼택 교수님)
- 개인적으로 공부 및 복습하면서 정리한 내용입니다. (사진 제외)
* 목차
1) TCP/IP 개념
2) OSI 4계층 TCP/UDP 개념
3) OSI 3계층 IP 개념
1. 복습 (중요 키워드 위주)
* 복습 파트 : 5강. TCP (전송계층) / IP (네트워크계층)
1) TCP/IP 개념
* DoD (TCP/IP) 모델
- OSI 참조 모델이 표준 통신 모델이지만,
인터넷 통신을 위한 실제적이고 기술적인 개방형 표준은 TCP/IP (Transmission Control Protocol/Internet Protocol)
- TCP/IP 참조 모델과 TCP/IP 프로토콜 군 (protocol suite)은
지구상의 어떤 곳이든 H/W가 다른 두 컴퓨터 간의 통신이 빠른 속도로 가능
- 미 국방성 (U.S. DoD)은 핵전쟁을 포함한 어떠한 상황에서도 정상적으로 동작할 수 있는 네트워크를 필요로 하여 TCP/IP 참조 모델의 개발을 위한 재정을 지원
* DoD (TCP/IP) 모델
- OSI 7 계층과 TCP/IP 모델은 4개 계층으로 구성
-- 응용 계층(application layer)
-- 전송 계층(transport layer)
-- 인터넷 계층(Internet layer)
-- 네트워크 접속 계층(network access layer)
- TCP/IP 모델의 일부 계층은 OSI 모델과 같은 이름을 가지고 있음
- 같은 이름을 가지고 유사한 기능을 수행하는 계층도 있지만 그렇지 않은 계층도 존재
* TCP/IP와 OSI 7계층 모델의 비교
- TCP : 전송 제어 프로토콜(Transmission Control Protocol) => 전송계층
- IP : 인터넷 프로토콜(Internet Protocol) => 네트워크 계층
- 다양한 형태의 네트워크상에서 서로 다른 시스템들의 데이터 교환을 가능하게 함
2) OSI 4계층 TCP/UDP 개념
* 전송계층 프로토콜 TCP/UDP 비교
* TCP (신뢰성 O )
- 연결지향 통신(connection oriented)을 제공하여 신뢰성 있는 데이터 전송
- 연결 지향 통신을 위해 데이터 전송 전에 일련 번호 (Sequence numbers),
긍정 응답 번호 (Acknowledgments)가 포함되는 세션 설정을 수립
- 신뢰성 있는 데이터 전송을 위한 추가 과정의 진행이 필요하기 때문에 UDP 보다 데이터 전송 속도는 느림.
* UDP (신뢰성 X )
- 비 연결지향 통신(connection less)을 제공하며 데이터의 신뢰성 있는 전송은 상위 계층의 프로토콜에 의존
- 신뢰성 있는 통신을 위한 과정이 생략됨으로 빠른 데이터 전송을 제공.
* TCP/UDP : 포트번호
2.1) TCP 헤더 구조
* TCP 헤더 구조
- TCP 헤더는 32비트단위의 워드(word)로 표현
- TCP헤더정보는 TCP가 제공하는 전송, 신뢰성, 흐름제어, 프로토콜 다중화와 같은 기능을 제공하기 위한 제어정보가 있음
* TCP 연결 설정 : TCP Three - Way Handshake
- TCP는 통신호스트간의 데이터전송에서 연결기반의 신뢰성을 제공
- 연결기반은 통신이 시작되기 전 통신 호스트간에 통신을 위한 합의를 하는 것으로, TCP 세션을 통해 연결 기반을 확립
- TCP 세션은 three-way handshaking 메커니즘을 이용하여 수행
- TCP 세션을 통해 서로 간에 전송될 데이터의 순서 번호와 응답 번호(Ack), 버퍼의 크기등을 약속
- 약속된 설정 값에 의해 TCP는 신뢰성 있는 통신을 제공
* TCP 연결 설정 : TCP 데이터 전달
2.2) 윈도우 메커니즘 (Windowing)
* 윈도우 메커니즘 (Windowing)
- 안정적 연결형 데이터 전송에서,
데이터 패킷들은 보냈을 때와 똑같은 순서대로 받는 이에게 전달되어야 함
- 만약 어떤 데이터가 없어지거나 손상, 반복되고 또는 다른 순서로 도착하면, 이 경우 프로토콜은 오동작.
- 이에 대한 기본적인 해결책은 각각의 데이터 세그먼트들에 대해 수신측으로 하여금 수신 확인
- 송신측에서 매번 세그먼트를 보낸 뒤에 수신 확인을 기다려야 한다면 효율은 낮아짐
* 윈도우 메커니즘 (Windowing)
- 연결형의 안정적 프로토콜들은 하나 이상의 프레임이나 세그먼트들을 한번에 전송하는 것을 허용
- 윈도우 메커니즘 (windowing)이란 일종의 흐름 제어 방식으로써
데이터를 보내는 쪽에서 어떤 양 이상의 데이터를 보낸 뒤에는 반드시 수신 측으로 부터 수신 확인을 받아함
- 송신 측에서 데이터 전송을 마친 뒤나,
받은 수신확인 메시지에 대한 처리를 끝내기 전에 여유 시간이 있기 때문에 이를 더욱 많은 데이터를 보내는데 사용
- 송신 측에서 수신 확인을 받지 않고 계속적으로 보낼 수 있는 데이터 패킷의 숫자를 윈도우(Window)라 부른다.
* TCP 연결 설정 : TCP 흐름 제어 (Windowing)
2.3) UDP 헤더 구조
* Source Port: TCP의 Source Port와 동일.
* Destination Port: TCP의 Source Port와 동일.
* Length: UDP 헤더와 UDP 데이터의 전체 크기
* Checksum: 에러의 검출을 위하여 사용 에러의 검출만 되지 복구는 안됨
3) OSI 3계층 - IP 개념
3.1) IP (Internet Protocol)
* IP (Internet Protocol)
- OSI 3계층의 IP 개념
- TCP/IP구현에서 인터넷계층에서 기능하며 전송매체를 통한 데이터의 전달에 관여
- IP는 전송되는 데이터 패킷들에 대하여 경로설정을 담당한
-- 이를 위하여 IP프로토콜 헤더 정보에는 출발지와 목적지의 논리적인 주소를 나타내는 IP주소가 포함
- 데이터를 전송하는 시스템 또는 네트워크를 통해 경유하게 되는 라우터들은
IP 헤더정보에 포함된 목적지 IP주소를 보고서 패킷이 전달될 경로를 설정
* IP의 특징
- IP프로토콜은 비 연결 기반의 신뢰할 수 없는 프로토콜
- 연결기반을 통한 신뢰성 있는 데이터의 전송은 상위계층인 전송계층에서 담당
* IP (Internet Protocol) 헤더 (header)
3.2) ARP (Address Resolution Protocol) : 네트워크 계층 프로토콜
* ARP
- ARP는 브로드 캐스트를 이용하여, 목적지 컴퓨터의 IP주소를 MAC 주소로 변환하는 역할 담당
- TCP/IP 네트워크 환경에서 각 컴퓨터간에 통신이 진행되기 위해서는 서로의 IP 주소와 하드웨어 주소 (MAC 주소)를 알아야 함
3.3) RARP (Reverse ARP) : 네트워크 계층 프로토콜
* RARP
- RARP는 디스크가 없는 시스템에서 사용
- ARP는 IP 주소를 가지고 상대방의 하드웨어를 파악할 수가 있지만,
- RARP는 자신의 하드웨어 주소를 가지고, IP 주소를 요청
3.4) ICMP (Internet Control Message Protocol) : 네트워크 계층 프로토콜
- ICMP 프로토콜은 오류 메시지를 알려줄 때 사용
- 예를 들어, Ping은 UDP 프로토콜을 사용하는데, 마치 TCP 프로토콜처럼 사용
- 이유는 : 정확한 메시지를 확인 할 수 있기 때문
- 이 메시지는 ICMP 프로토콜이 전송
'프로그래밍 공부 > 네트워크 (Network)' 카테고리의 다른 글
[ 네트워크 이론 ] 공부 정리 - 6강. IP주소와 서브넷팅(subnetting) (0) | 2023.05.02 |
---|---|
[ 네트워크 이론 ] 공부 정리 - 5강 추가. Ping에 의한 10단계 패킷 전송 (0) | 2023.05.02 |
[ 네트워크 이론 ] 공부 정리 - 4강. OSI 7계층 중 데이터링크 계층, 이더넷 계층 (0) | 2023.05.01 |
[ 네트워크 이론 ] 공부 정리 - 3강. OSI 7계층 중 전송 계층, 네트워크 세션 계층 (0) | 2023.05.01 |
[ 네트워크 이론 ] 공부 정리 - 2강. OSI 7계층 중 응용 계층, 표현 계층, 세션 계층 (0) | 2023.05.01 |