TCP/IP 프로토콜
프로토콜이란? 컴퓨터와 컴퓨터 사이에 데이터를 어떻게 주고받을 것인지를 정의한 통신 규약
즉, 같은 프로토콜을 사용하는 기기 간에는 통신이 가능하다.
인터넷에서는 TCP/IP 프로토콜에 따라 데이터를 주고받는다.
TCP/IP 프로토콜은 5계층으로 구성되어 있는데, 계층별로 다양한 서비스를 제공하는 프로토콜이 지원된다.
계층 | 프로토콜 | 전송단위 |
응용 계층 ) 서비스 제공 응용 프로그램 | DNS, FTP, SSH, HTTP, 텔넷 | 메시지 |
전송 계층) 응용프로그램으로 데이터전달, 데이터 흐름 제어 전송 신뢰성담당 | TCP , UDP | 세그먼트 |
네트워크 계층) 주소 관리 및 경로 탐색 | IP, ICMP | 패킷 |
링크 계층 ) 네트워크 장치 드라이버 | ARP | 프레임 |
물리 계층 )케이블 전송매체 | 구리선, 광케이블, 무선 | 비트 |
MAC 주소 ( media access contorl )
하드웨어를 위한 주소 ,LAN 카드에 저장된 주소
: 이나 - 로 구분되는 여섯개의 16진수로 구성, 총 48bit
00:50:56:3e:3c:fe
제조사 번호 (00:50:56) -IEEE 에서 지정함
일련 번호 (3e:3c:fe) - 제조사에서 지정함
(= 이더넷 주소 = 하드웨어 주소 = 물리주소)
IP 주소
컴퓨터가 인터넷에 연결되려면 IP 주소가 할당되어 있어야한다. 보통 인터넷 주소 = IP 주소 이다.
IP 주소는 인터넷으로 연결된 네트워크에서 각 컴퓨터를 구분하기 위해 사용된다. IP 주소는 총 4B (=32bit , 1B 크기 4개)
192.168.100.5 처럼 마침표로 구분해준다.
IP 주소 = 네트워크 주소 + 호스트 주소
- A 클래스 : 국가 or 대형 통신망 (0 ~ 127 로 시작) 2^24 = 16,777,216 개 호스트 사용 가능
네트워크 부분 | 호스트부분 | 호스트 | 호스트 |
- B 클래스 : 중대형 통신망 ( 128~191 로 시작) 2^16 = 65,536 개 호스트 사용 가능
네트워크 | 네트워크 | 호스트 | 호스트 |
- C 클래스 : 소규모 통신망 ( 192~223 로 시작) 2^8 =256개 호스트 사용가능
네트워크 | 네트워크 | 네트워크 | 호스트 |
- D 클래스 : 멀티캐스트용으로 사용 (224~239로 시작)
- E 클래스: 실험적 주소이며 공용되지 않음
예를들어, 192.168.100.5 와 같은 형식의 IP 주소라면 IPv4 라고 하는데 이미 이 주소는 고갈되어 더 이상 새로운 주소를 배정받을 수 없다. IPv4 의 주소 부족 문제를 해결하기 위해 IPv6 가 개발되고 현재 사용하고 있는 주소 체계는 IPv6 이다.
192.168.100.5 는 C 클래스에 해당하고, 앞의 세자리는 네트워크 부분, 뒤는 호스트 부분이다.
192.168.100 -> 네트워크 부분
5 -> 호스트 부분
넷마스크와 브로드캐스트 주소
IP 주소는 네트워크 부분과 호스트 부분으로 구분되어 있는데 컴퓨터가 어디가 네트워크 부분이고 호스트 부분인지 어떻게 알까?
IP 주소에서 네트워크 부분을 알려주는 역할을 하는 것이 넷마스크다. 넷마스크는 하나의 네트워크를 다시 작은 네트워크(서브넷) 으로 분리할 때도 사용하기 때문에 서브넷마스크 라고 부르기도 한다.
사용법을 예를 들자면 C 클래스의 IP 주소의 경우, 기본 넷마스크가 255.255.255.0 인데,
192.168.100.5 와 255.255.255.0 을 AND 연산을 하면 192.168.100.0 으로 나온다. 즉, 넷 마스크는 IP 주소와 AND 연산을 통해 네트워크 부분만 남기는 역할을 한다. IP 주소에서 어디까지가 네트워크 부분인지 알려면 넷마스크 값을 정화갛게 설정해야한다!!
브로드캐스트 주소의 경우, 같은 네트워크에 있는 모든 컴퓨터에 메시지를 보낼 때 사용하는 것으로 호스트 부분을 모두 1로 설정한다.
IP 주소가 192.168.100.0 이라면 브로드캐스트 주소는 192.168.100.255 가 된다.
호스트 이름
IP 주소는 192.168.100.0 처럼 기억하기 어렵다. 따라서 숫자보다는 문자가 더 기억하기 쉽기 때문에 등장하게 된 것이 호스트 이름이다. 예를들어 202.179.177.21 이 네이버의 주소라면 www.naver.com 이렇게 호스트이름으로!! 호스트의 이름도 역시 네트워크 부분과 호스트 부분으로 나뉘는데, www 가 호스트 부분 , naver.com 이 네트워크 부분이 된다. 서비스를 제공하는 서버 컴퓨터라면 용도에 따라 호스트의 이름을 붙여 사용한다.
포트 번호
포트 번호는 각 서비스를 구분하는 번호이다. 사용자가 네트워크 서비스를 이용할 때 사용자의 패킷은 IP 주소를 보고 해당 서버 컴퓨터를 찾아간다. 서버 컴퓨터에 도착한 사용자의 패킷은 어떤 서비스를 요청했는지 확인한 다음 해당 데몬에 패킷을 전달한다.
ex, 웹서비스 요청 -> 웹 서버 데몬 (httpd) 에 전달 이때 사용자가 어떤 서비스를 요청했는지 알려주는게 포트번호다.
'Hello World! > 공부' 카테고리의 다른 글
프로젝트 관리와 계획 (0) | 2020.11.13 |
---|---|
리팩토링이란? (0) | 2020.11.13 |
알고리즘의 성능을 나타내는 복잡도 (0) | 2020.09.07 |
WAS 와 Web server 의 차이점 (0) | 2020.09.02 |
http 와 https 의 차이 (0) | 2020.07.22 |