TCP/IP의 IP(Internet Protocol)만으로 패킷을 목적지까지 전달하는 것은 가능하지만, 이것만으로 통신을 하기에는 부족하다. 실제 패킷을 전달하는 데이터링크에서 통신하기 위해서는 MAC을 알아야 하는데 이때 상대방의 MAC을 알아내기 위한 프로토콜인 ARP, 패킷 전송에 문제가 있을 경우 감지하기 위한 ICMP, Host명 만으로 상대방의 IP를 알기 위한 DNS와 같은 기능들이 IP를 보조한다. 그리고 마지막으로 IP주소를 사용자가 직접 설정하지 않아도 네트워크에 연결만 하면 사용할 IP가 정해지는 응용계층의 DHCP(UDP 포트번호: 67, 68)에 대해 알아보도록 하자. 1. DHCP(Dynamic Host Configuration Protocol) 우리가 인터넷을 사용할 때를 상상..
TCP/IP Protocol Suite의 계층구조는 앞서 얘기한 것처럼 OSI 7계층 모델과는 정확하게 맞아 떨어지지 않는다. OSI는 프로토콜의 기능에, TCP/IP는 이를 어떻게 프로그래밍할지(적용시킬지)에 집중했기 때문이다. 예를 들면 OSI에서는 세션/표현/응용과 같이 역할별로 계층을 나누었지만 TCP/IP에서는 대화제어/동기화/암호화 등이 하나의 Application으로 동작해 불필요한 개발시간을 줄임으로써 효율이 높아진다. TCP/IP의 인터넷 계층에는 Host 주소를 지정하는 IP 프로토콜, 주소를 변환하는 ARP/RARP, 신뢰성 없는 IP를 대신하여 네트워크의 상태를 알리는 ICMP, 멀티캐스트 프로토콜인 IGMP, 라우팅 프로토콜인 BGP/OSPF 등이 있다. 전송계층에는 상대가 있어야..
TCP와 UDP에 대해 미처 다루지 못한 부분을 간단하게 짚고 넘어가도록 하자. 1. 3-Way Handshake(TCP의 연결설정)와 4-Way Handshake(TCP의 연결종료) Transport층에서 사용되는 TCP는 아래와 같이 3단계 핸드쉐이크 과정을 거쳐 연결을 맺고, 데이터 전송이 끝나면 4단계 핸드쉐이크 과정을 통해 연결을 끊는다. 연결의 설정과 종료에서 단계가 차이나는 이유는 A가 데이터 전송을 마쳤다고 하더라도 B는 아직 보낼 데이터가 남아있을 수 있기 때문에 일단 FIN에 대한 ACK만 먼저 보내고, 데이터를 모두 전송한 후에 자신도 FIN 메세지를 보내기 때문이다. [그림1. 3-Way Handshake 과정] [그림2. 4-Way Handshake 과정] 2. UDP 프로토콜의 ..
다음으로 TCP/IP의 Transport층에 대해 알아보자. TCP/IP에서의 Network Access와 인터넷 계층이 OSI 7계층에서의 물리, 데이터링크, 네트워크 계층과 조금 다른 데에 반해 전송층은 TCP/IP에서나 OSI에서나 역할이 거의 같다. 전송층의 가장 중요한 역할은 응용프로그램 간의 (논리적인) 통신을 구현하는 것이다. 따라서 컴퓨터의 수많은 프로그램 중에 정확하게 어떤 프로그램과 통신할지 식별하기 위해 '포트번호'를 사용한다. Transport층에서 대표적으로 사용되는 프로토콜은 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)이다. TCP는 connection형(연결지향적)이고 신뢰성이 보장된다. 양 단 간 커넥션을 ..
인터넷 계층의 역할은 전송층으로부터 전달받은 데이터를 Network Access Layer의 도움으로 목적지까지 전송하는 것이다. 이를 구성하는 주된 요소는 IP주소와 라우팅, IP패킷의 분할과 재구축이다. 오늘은 네트워크 계층에서 사용되는 IP주소에 대해 알아보도록 하겠다. * IP패킷은 데이터링크의 속성에 따라 최대전송단위인 MTU 값이 달라지므로, MTU size에 맞게 분할(조각화)과 재구축(재조립)이 이루어진다. * 참고: MTU와 분할 및 재구축 관련 포스팅 - [TCP/IP] 1. 네트워크 접근 계층, 그리고 데이터링크층과 MTU * IP주소는 네트워크에 연결된 여러 host 중 상대(수신host)를 식별하기 위해 사용되며, TCP/IP에서 통신하는 모든 host와 router에는 반드시 I..
1장에서 다룬 네트워크 접근 계층(Network Access Layer)의 상위계층인 인터넷 계층에 관한 이야기이다. 전장에서 네트워크 접근 계층은 네트워크 인터페이스층과 하드웨어로 구분되고, 네트워크 인터페이스층은 곧 OS와 하드웨어를 잇는 "디바이스 드라이버" 역할을 한다는 것을 알았다. 쉽게 말하면 "랜선(정확히는 UTP-RJ45잭)을 PC에 꼽으면 통신 가능한 환경이 갖추어지는 것"이 네트워크 인터페이스층의 역할이다. (가만히 생각하면 OSI 7계층에서 복잡하게 정의한 것과는 분명 차이가 있다.) 그 상위계층인 인터넷 계층과 전송 계층의 기능은 일반적으로 host의 OS(Operating System)에 내장되어 있는데, 인터넷 계층이 최종 목적지까지의 데이터 전송을 담당한다면, 전송 계층은 어플..
이더넷은 현재 가장 많이 보급된 대표적인 데이터링크이다. 다른 데이터링크와 비교했을 때 제어구조가 단순해 NIC나 디바이스 드라이버를 만들기가 쉬워 저가에 접할 수 있었기 때문이다. 뿐만 아니라 100Mbps, 1Gbps, 10Gbps, 40Gbps/100Gbps 등과 같이 고속의 네트워크를 지원하며 호환성이 높다. 이더넷에는 통신 케이블이나 통신 속도가 다른 다양한 사양이 존재하는데, 이를 표현할 때 아래와 같은 규칙이 사용된다. [그림1. 이더넷 종류의 표기방식] [그림2. 케이블 종류에 따른 표기방식] * 참고: 광케이블의 종류(MMF, SMF) 관련 포스팅 - [정보통신기술사/기출/107회][광통신] NZ-DSF(Non-Zero Dispersion Shift Fiber)란? 우리가 가장 많이 사용..
1990년대 ISO에서 제안한 OSI 참조모델보다 현재 더 널리 보급된 것이 TCP/IP이다. TCP/IP의 프로토콜은 IETF(Internet Engineering Task Force)를 통해 정해지는데, 여기에 누구든 참가할 수 있도록 OPEN 되어있다. 또한 프로토콜의 사양을 정하는 것보다 실제 통신에 사용될 수 있는 프로그램의 개발을 우선시한다. 즉, OSI 참조모델이 통신 프로토콜의 기능을 중심으로 고안되었다면, TCP/IP는 프로토콜을 적용시키기 위해 어떻게 프로그래밍 할지에 집중된 모델이다. 이러한 표준화 노력으로 TCP/IP는 다른 프로토콜보다 더 빠르게, 더 널리 보급될 수 있었다고 한다. [그림1. OSI 참조모델과 TCP/IP 프로토콜의 비교] TCP/IP 프로토콜은 총 4개 계층으로..
IP전문가가 되기 위해 2달간 공부할 학습목표를 세웠당ㅋ (과연 나는 공부를 할까???? no...) 1. TCP/IP (1주차~3주차) 1) Network Access - MTU, 오류제어 2) 이더넷의 종류 - UTP, 동축케이블, 광케이블 파장 3) IP - IP헤더, IP패킷, 패킷사이즈, ICMP, IP주소, 서브넷, CIDR/VLSM, IPv4, IPv6, NAT 4) TCP - TCP헤더, 포트번호 5) UDP - UDP헤더 6) DHCP - 필드, IP할당과정 7) DNS - 도메인 계위, 명령어, unicast, anycast 8) ARP - packet option, arp 종류 2. 스위칭 (1주차~3주차) 1) 스위칭 - flooding, 스위치 기능 2) STP - 예시, BPDU..
[정보통신기술사/기출/107회][광통신] NZ-DSF(Non-Zero Dispersion Shift Fiber) - 단답형 NZ-DSF 광섬유는 하나의 광 코어 내에 다수의 광선이 진행할 수 있는 다중모드(Multi Mode) 광섬유와 하나의 광선(Mode)만이 진행할 수 있는 단일모드(Single Mode) 광섬유로 구분된다. [그림1. 싱글모드 광섬유] [그림2. 멀티모드 광섬유] 특히 1,310nm 파장에서 최적화된 전통적인 광섬유를 표준 단일모드 광섬유라고 하는데, 해당 파장 부근에서 분산(Dispersion) 값이 0(영분산점)이다. 하지만 광섬유는 재질 면에서 파장-손실 특성에 따라 이 파장대보다는 1,550nm에서 가장 낮은 손실 값을 갖는다. 따라서 영분산점을 1,550nm로 이동시킨 광섬..