IP란?
IP는 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호이다.[1]
설명에 앞서 설명하면, network address가 같은 host끼리는 라우터를 거치지않고 서로 통신할 수 있다.
전통적으로 ip는 5가지의 대역으로 나뉘어진다.
DNS(Domain Name System)에서 ip와 도메인을 전화번호부로 비유한다.
초기 통신기기 사이의 연결은 ip주소만으로 하였는데 숫자로 이루어진 ip주소를 외우고 사용한다는 것은 불가능에 가깝다.
따라서 편의를 위해 Domain(ex: www.google.com)과 ip주소를 1:1 대응해주는 역활과 데이터를 가지고 있는 서버를 운영하게 된다.
DNS 서버
https://1.1.1.1/ko-KR/dns/ -> 1.1.1.1
Cisco OpenDNS -> 208.67.222.222
Google Public DNS -> 8.8.8.8
42seoul의 DNS서버는 10.51.1.253
네트워크 주소(Network address) vs 호스트 주소(Host address)[4]
하나의 내부통신망에서 사용하는 용어로 예상됨
1-1. 네트워크 주소
한개의 라우터 범주 내에 속하는 것이 네트워크 주소.
1-2. 호스트 주소
위 라우터 범주 내에 있는 단말기가 개별적으로 가지는 주소가 호스트 주소
공인아이피(Public address) vs 사설아이피(Private address)
2-1. 공인아이피
인터넷 상에서 서로 다른 pc끼리 통신하기 위해 필요한 아이피로서 홈페이지 서버를 구축한다던지 각자의 pc에 인터넷을 연결한다던지 등의 인터넷을 통한 통신을 하기 위한 아이피입니다. 공인아이피는 각 나라들 마다 관리하는 기간이 있고, 우리나라는 "한국인터넷진흥원"에서 관리하고 있다.2
WAN(Wide area Network) : 멀리 떨어진 지역을 서로 연결하는 경우[3]
2-2. 사설아이피
내부 네트워크 상에서 각 컴퓨터간 통신을 하기 위한 아이피이다. 내부망을 구축할 때 활용하는 아이피입니다. 사설아이피는 내부망에서만 사용되기 때문에 서로 다른 내부망에서는 동일한 사설 아이피를 구성하더라도 상관없습니다.[2]
사설아이피 3가지 대역으로 고정되어있다.
A class: 10.0.0.0 ~ 10.255.255.255
B class: 172.16.0.0 ~ 172.31.255.255
C class: 192.168.0.0 ~ 192.168.255.255
LAN(Local Area Network) : 한정된 공간에서 네트워크를 구성한 것. ex) Router, wifi, pc방[3]
*Router(공유기)는 공인아이피와 사설아이피를 적절하게 변환해주는 장치이다. 이러한 기술을 NAT(Network Address Translation).
DNAT(Destination + NAT(out)) : 내부 사설아이피에서 외부 공인아이피로 변환 [2]
SNAT(Source + NAT(in)) : 외부 공인아이피에서 내부 사설 아이피로 변환 [2]
NAT에 의해서는 TCP header의 체크섬(2byte) 또한 변환된다.
Netmask(=subnet, =CIDR)란? [5]
초기의 ipv4는 대역에 따라 "class"로 분류하여, 그 쓰임을 선택하였다. 충분할 줄 알았던 ipv4(42억개)가 부족하게 된다.
따라서, ipv4의 통신채널과 호스트의 적절한 분배를 통해서, 부족한 ip의 갯수를 임시방편으로 보안하고 한다.
임시방편이라고 표현한 이유는 ipv6(2128개)로 바꾸려고 노력한다고 한다. 하지만 ipv4에서 ipv6로 전환하는데에 오랜시간이 걸리는 이유는 결국 호환성의 문제인것 같다. ipv6에 대한 보안도 불안정하고, 라우터의 NAT로 충분히 대체하고 있는 상황에서 다소 높은 초기비용을 지불하여 옮기려는 시도가 많지 않은 것이다.[6][7]
netmask, subnet mask, CIDR(Classless inter-Domain Routing)를 통해서 ipv4의 네트워크 영역과 호스트 영역을 적절하게 나눠줄 수 있다.
A class의 default netmask 255. 0. 0. 0 /8
B class의 default netmask 255. 255. 0. 0/16
C class의 default netmask 255. 255. 255. 0/24
빨간색숫자는 CIDR표기로 netmask를 나타낸 것이다. network address로 쓰이는 bit의 갯수를 의미한다.
What is the subnet of an IP with Netmask?
Netmask를 이용하여 ipv4의 주소를 네트워크영역과 호스트영역으로 내맘대로 나누고, 이용하는 것이다.
"서브넷은 말그대로 부분망이라는 뜻입니다. IP 주소에서 네트워크 영역을 부분적으로 나눈 부분망, 부분 네트워크를 뜻하죠. 그리고 이 서브넷을 만들 때 쓰이는 것이 바로 서브넷 마스크입니다. 이 서브넷 마스크를 이용하여 IP주소 체계의 Network ID와 Host ID를 서브넷 마스크를 통해 분리할 수 있습니다."
출처: https://engkimbs.tistory.com/622 [새로비]
특정 호스트로 패킷을 전송하는 것이 아니라 특정 네트웍 전체에 패킷을 전송할 때 사용하는 IP Address가 BROADCAST IP 입니다.[8]
- BROADCAST IP address는 255.255.255.255를 쓰거나 IP address의 SUBNET 부분을 제외한 호스트 자리를 2진수 1로 채운 것입니다.
- 예를 들어 10.1.10.100 이라는 IP Address를 가지는 호스트가 255.255.255.0 이라는 SUBNET MASK를 사용한다면 이 SUBNET의 BROADCAST IP는 10.1.10.255 가 됩니다.
- 이런 BROADCAST IP를 사용하면 해단 SUBNET의 모든 호스트에 패킷을 전달할 수 있습니다.
- 이러한 BROADCAST는 네트웍을 관리하는 특정 목적의 PROTOCOL과 UDP를 사용한 통신에서만 사용이 됩니다.
통신에 대한 전반적인 내용[9][10]
1. OSI 모델[11][12]
이 모델은 ISO에서 개발한 모델로 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다.
프로토콜을 기능별로 나누어서 각계층은 하위계층의 기능만 이용하고, 상위계층에게 기능을 제공한다. 하위계층은 하드웨어로 구현되고 상위계층은 소프트웨어로 구현된다.[11]
Physical layer -> Data link layer -> Network layer -> Transport layer -> Session layer -> Presentation layer -> Application layer
2. TCP와 UDP
OSI모델에서 Transport layer에서 패킷의 전송에 관한 프로토콜(규약)의 종류이다
2-1. TCP(Transmission Control Protocol)
- 양방향 데이터 전송
- 검증된 패킷의 전송을 할 수 있지만, 속도가 UDP에 비해 느리다.
- Broadcasting (x)
2-2. UDP(User Datagram Protocol)
- 단방향 데이터 전송
- 전송방식이 단순하여 순서가 바뀌거나,중복,누락되기도 한다. 하지만 TCP에 비해 빠르다는 장점이 있어서, 게임이나 실시간 영상통화에서는 UDP의 방식이 이용된다.
- Broadcasting (O)
3. network layer의 구성요소(특별히 과제에서 언급된 부분)[12]
IP
-패킷 교환 네트워크에서 정보를 주고받는데 사용하는 정보 위주의 규약
-호스트의 주소지정과 패킷 분할 및 조립 기능을 담당
ICMP(Internet Control Message Protocol)
-TCP/IP에서 IP 패킷을 처리할 때 발생되는 문제(오류 보고)를 알림.
-진단 등과 같이 IP계층에서 필요한 기타 기능을 수행하기 위해 사용되는 프로토콜
라우터 게이트웨이 포트
허브,스위치,라우터[15]
라우터 :
공유기 : 부족한 IPv4의 자원을 효율적으로 사용하기 위해 만든 내부통신망을 구축하기 위한 장비
하나의 공인IP로 사설IP 여러개의 인터넷을 보장하기위해 만들어진 장치
기술적으로는 NAT(Network Address Translation)이 사용된다.
NAT : IP패킷의 TCP/UDP 포트숫자와 소스 및 목적지의 IP주소 등을 재기록하면서 라우터를 통해 네트워크 트랙픽을 주고 받는 기술
트래픽(traffic)이란 서버와 스위치 등 네트워크 장치에서 일정 시간 내에 흐르는 데이터의 양을 말한다. 웹사이트에 트래픽이 많다는 것은 사용자 접속이 많아서 전송하는 데이터의 양이 많다는 것을 뜻한다.[14]
게이트웨이 [13]
두 컴퓨터(노드-node라고도 함)가 네트워크 상에서 서로 연결되려면 동일한 통신 프로토콜(protocol, 통신 규약)을 사용해야 한다. 따라서 프로토콜이 다른 네트워크 상의 컴퓨터와 통신하려면 두 프로토콜을 적절히 변환해 주는 변환기가 필요한데, 게이트웨이가 바로 이러한 변환기 역할을 한다.
참고로 공유기는 게이트웨이의 역할과 라우터의 역할, 방화벽 역할 등을 동시에 제공하는 종합 네트워크 장비다.
*추가: 라우터가 할당해주는 사설아이피의 1번 ex) 192.168.0.1
포트 :
주로 포트를 사용하는 프로토콜은 전송 계층 프로토콜이라 하며, 예를 들어 전송 제어 프로토콜(TCP)와 사용자 데이터그램 프로토콜(UDP)가 있다. 각 포트는 번호로 구별되며 이 번호를 포트 번호라고 한다. 포트 번호는 IP 주소와 함께 쓰여 해당하는 프로토콜에 의해 사용된다[16]
이 때, 집주소에 해당하는 것이 IP이고, 받는 사람 이름에 해당하는 것이 Port 입니다.[17]
++ 1~2계층(물리, 데이터링크)에서는 MAC address로 호스트의 NIC을 판별하고, 3계층에서는 IP address를 통해서 호스트를 판별합니다.
MAC address와 IP address를 통해서 데이터를 전송할 컴퓨터까지 도달했다면, 좀 더 구체적으로 데이터를 받을 프로세스가 어떤 것인지 알아야한다. 이때 사용하는 식별자를 Port Number라고한다.[18]
프로토콜
출처
1. https://ko.wikipedia.org/wiki/IP_%EC%A3%BC%EC%86%8Cㄴ
2. https://m.blog.naver.com/mogni/70183970559
3. https://hihighlinux.tistory.com/81
4.http://blog.naver.com/PostView.nhn?blogId=no1rogue&logNo=30095809969
6.http://www.itworld.co.kr/news/108307
7.https://rityn.tistory.com/139
8.https://dorigom.tistory.com/322
9.https://opentutorials.org/course/3265/ 생활코딩 Homeserver
10.https://opentutorials.org/course/3276 생활코딩 DNS(Domain name system)
11.https://ko.wikipedia.org/wiki/OSI_%EB%AA%A8%ED%98%95
12.https://needjarvis.tistory.com/158
14.http://wiki.hash.kr/index.php/%ED%8A%B8%EB%9E%98%ED%94%BD
15.http://melonicedlatte.com/network/2019/12/21/154500.html
17.https://losskatsu.github.io/it-infra/port/
18. https://blockdmask.tistory.com/195
'42cursus > netwhat' 카테고리의 다른 글
network 영역이 다른데 어떻게 연결될 수 있는가?(게이트웨이) (0) | 2020.08.09 |
---|