1. Protocol
2. OSI 7계층
3. Port, well known port
4. HTTP, URL
5. TCP/IP
6. UDP / TCP 차이
7. SSH, Telnet
8. DNS
9. 공인 IP, 사설 IP
10. 포트포워딩
배경
목적
OSI 7계층 데이터 전달 원리
여기서 잠깐!
중계기(교환기)에서 네트워크 계층까지 헤더를 제거하는 이유는?
지금부터 각 계층에 대해 더 자세히 살펴보자.
응용 계층은 사용자 인터페이스이다. 사람이 인식하고 다른 계층들과 상호작용 할 수 있도록 사용자에게 보여주는 역할을 한다. 우리가 흔히 사용하는 응용 프로그램 그 자체라고 생각해도 된다. 다만 여기에서 말하는 응용 프로그램은 GUI에만 국한되지 않으며, FTP 같은 파일 전송 프로토콜을 사용하는 것도 응용 계층이라고 말한다.
표현 계층은 데이터의 표현 차이에 대한 문제를 해결하는 역할을 하는 계층이다. 인코딩, 암호화, 복호화 등의 일들을 이 계층에서 수행된다. 예를들면 흔히 아는 UTF-8 과 ASCII 등 인코딩 방식이다.
전송 계층은 신뢰성있는 데이터를 주고 받을 수 있도록 해주는 계층이다. 오류 발생 시 링크 회복, 신뢰성, 흐름 제어, 다중화, 무결성 보장 등의 서비스를 제공한다.
TCP/UDP가 대표적인 전송 프로토콜이다.
네트워크 계층은 라우팅을 포함한 패킷 포워딩을 담당하는 계층이다. 라우팅이란 어떤 네트워크 안에서 데이터를 전송할때 경로를 선택하는 과정을 의미하는데 간단히 이 데이터가 어떤 길로 이동할지 정해준다고 생각하면 된다.
이 계층에서는 네트워크 위의 개체들 간 데이터를 전달하고, 물리 계층에서 발생할 수 있는 오류를 찾아 수정하는 역할을 담당한다. 이를 오류 수정이라고 하는데, 데이터를 전달 받다가 연결이 불안정하거나 끊어지는 등 데이터에 직접적으로 영향을 줄 수 있는 오류를 감지하고, 만약 발견된다면 해당 데이터를 폐기시킨다.
모뎀은 무엇일까?
모뎀(MODEM, MOdulator and DEModulator)은 정보 전달(주로 디지털 정보)을 위해 신호를 변조하여 송신하고 수신측에서 원래의 신호로 복구하기 위해 복조하는 장치를 말한다. 주로 컴퓨터 정보통신을 위한 주변기기로 많이 사용한다. 변조를 하는 이유는 전송선에 디지털 신호를 바로 보내면 신호 전달이 잘 되지 않기 때문이다. 데이터가 같은 비트로 연속되면 전송특성상 신호 전달에 문제가 발생하므로 전송선의 특성에 맞추어 변조한다. 모뎀은 아날로그/디지털 변환기의 일종으로 컴퓨터의 디지털 신호를 아날로그 신호로 바꾸어 전송하고, 아날로그 신호를 받아 디지털 신호로 읽어낸다.
참고링크 https://usage.tistory.com/62
포트번호란, 컴퓨터 안에서 작동하는 애플리케이션을 식별하기 위해 사용하는 숫자이다.
그 중 well-konwn port 라고 해서 잘 알려진 포트 번호이다. 우리가 흔히 아는 ssh-22 http-80 https-443 mysql-3306 등이 있다.
사진 출처 https://yohanpro.com/posts
설명하기전에 집에 있는 공유기를 살펴보자.
WAN, LAN이 있을 것이다.
통신사랑 계약한 케이블은 WAN과 연결되며, 노트북,스마트폰 등은 LAN에 연결된다.
공인 IP
WAN과 연결하면 공인 IP가 주어진다. 공인 IP는 ISP(인터넷 서비스 공급자)가 제공하는 IP 주소이다. 공용 IP주소라고도 불리며 외부에 공개되어 있는 IP주소이다.
사설 IP
LAN과 연결을 하게 되면 사설 IP가 주어진다. 일반 가정이나 회사 내 등에 할당된 네트워크의 IP주소이다.
잠깐! 그렇다면 사설 IP를 사용하는 장치들이 인터넷을 통해 공유기 밖의 정보에 접속이 어떻게 가능할까?
Network Address Translation 때문이다!
즉, 내 컴퓨터(사설IP)에서 naver.com을 입력하면 공유기에 요청이 전달된다. 일단 공유기는 내 사설 IP를 저장한다. 후에 사설 IP를 공인 IP로 바꾼 후 요청한다. 어떠한 작업이 끝나 응답은 공인 IP를 통해 들어오며 공유기가 사설 IP로 보내주는 것이다.
외부 기기에서 접속시에도 위에 창이 뜨도록 포트 포워딩을 설정해보겠다.
cmd창에 ipconfig 명령어를 입력하면, 기본 게이트웨이 주소를 확인할 수 있다.
IPv4 주소 . . . . . . . . . : 192.168.219.x
기본 게이트웨이 . . . . . . : 192.168.219.1
브라우저에서 게이트웨이 주소로 접근하면 사용하고 있는 공유기 관리자에 접속할 수 있다.
로그인 후 고급 설정 > NAT 설정을 한다.
추가 한 후 확인을 눌러 적용을 시켜야 한다!
포트포워딩을 완료하고 내부 포트가 80이기 때문에 [http://내 외부 IP : 80]를 입력하면 서버에 접근할 수 있다.
내 외부 IP는 네이버에 내 ip주소 치면 나온다.
잘 나오는 걸 확인할 수 있다.