[Section 2] Network

Kim·2022년 9월 30일
0

Boot Camp

목록 보기
24/64
post-thumbnail
post-custom-banner

TCP/IP

IP 주소

IP 주소는 TCP/IP 구조에서 컴퓨터를 식별하기 위해 사용되는 주소다.
서울특별시청을 가기 위해서는 서울특별시청의 주소를 알고 있어야 하듯이, 네트워크도 마찬가지다. 서울특별시청에서 근무하는 홍길동의 PC에 접속하기 위해 홍길동의 PC 주소인 IP 주소를 알아야 한다.

IPv4 vs IPv6

IPv4는 IP 주소 체계를 따라서 네 덩이의 숫자로 구분한 것이다.

인터넷 보급률이 높아진 지금은 IPv4로 할당할 수 있는 PC의 한계를 넘어섰기 때문에 IPv6이 등장하게 되었다.

서브넷 마스크

IPv4 주소는 000.000.000.000 형식으로 되어있다. 10진수로 표기되어 있으나, 마침표로 구분된 4개의 8비트 필드(8자리 2진수 4개)로 되어있다.

IP 주소는 네트워크부와 호스트부로 나뉜다. 네트워크부는 어떤 네트워크인지를 알 수 있고, 호스트부는 네트워크부 안의 특정 컴퓨터를 지칭한다.
IPv4 주소에서 네트워크부가 어디까지인지 나타내는 것이 서브넷 마스크다.

MAC 주소

IP 주소만 가지고는 네트워크 상에서 송수신이 불가능하다. 각 네트워크 기기들은 처음부터 제조사에서 할당한 고유 시리얼인 MAC 주소를 IP 주소와 조합해야 네트워크를 통한 통신이 가능하게 된다.

이더넷에서 네트워크상의 송수신 상대를 특정하고자, MAC 주소를 사용하며 TCP/IP에서는 IP 주소를 사용하기 때문이다.

같은 LAN에 속한 기기끼리 통신을 할 때 우선, 상대방의 MAC 주소를 파악한다.
이때 사용하는 것이 ARP다. MAC 주소를 파악하기 위해 네트워크 전체에 브로드캐스트를 통해 패킷을 보내고, 해당 IP를 갖고 있는 컴퓨터가 자신의 MAC 주소를 응답하여 통신할 수 있게 하는 프로토콜이다.

회선 교환 vs 패킷 교환

통신 회선을 설명하며 데이터 교환을 하는 회선 교환 방식은 주로 음성전화 시스템에 사용된다.
전화는 1:1로 데이터를 교환한다. 통화 중에는 다른 상대와 통화가 불가능하다.

컴퓨터 네트워크는 여러 상대와 통신이 가능해야 하는데, 회선 교환 방식은 컴퓨터 네트워크에서는 비효율적이다. 이를 극복하기 위해 패킷교환 방식이 생겼다.
원본 데이터를 패킷이라는 작은 단위로 나누고, 여러 회선을 공용해 통신을 주고 받는다. 주고 받을 데이터를 작게 분할해서 전송해도 도착한 곳에서 원래대로 복원이 가능하다.


TCP, UDP

TCP와 UDP는 TCP/IP 4계층 모델을 기준으로 IP 프로토콜 계층인 인터넷 계층 상위에서 동작한다.
전송계층에 속하는 TCP와 UDP는 2계층에서 동작하는 IP와 4계층에서 동작하는 애플리케이션을 중개하는 역할을 한다.

TCP는 통신 신뢰성을 높이는 기능이 구현되어 있지만, UDP에는 신뢰성을 높이는 기능이 없는 대신 보다 높은 속도와 효율성을 제공한다.

데이터의 신뢰성을 필요로하는 애플리케이션은 TCP, 빠른 속도나 실시간 통신이 중요한 애플리케이션은 UDP로 구분하여 사용한다. 특히, 웹 애플리케이션에서 많이 사용하는 HTTP의 경우 모든 데이터를 제대로 송수신해야 하므로 TCP를 사용한다.


PORT

TCP와 UDP 다 포트번호를 사용하는데, 포트번호란 대상 IP 기기의 특정 어플맄이션을 특정하는 번호다.
IP 주소만으로는 어느 서버로 요청을 보내는지 알 수 없어, 포트번호를 통해 receiver를 특정해 어느 서버로 보내는 요청인지를 특정할 수 있다.
포트번호는 0 ~ 65,535까지 사용할 수 있는데, 그 중 0 ~ 1023까지는 주요 통신을 위한 규약에 따라 정해져 있다.
TCP 및 UDP 포트 번호 목록


URL, DNS

URL

URL은 웹에 게시된 어떠한 자원을 찾기 위한 브라우저에서 사용하는 메카니즘이다. 인터넷상에서 HTML이나 이미지 등의 리소스의 위치를 특정하기 위한 서식이다.
브라우저 주소창에 입력한 URL은 서버가 제공되는 환경에 존재하는 파일 위치를 나타낸다.

DNS

웹사이트의 주소를 https://129.280.203.64/weather/index.html과 같이 IP 주소로만 작성해서 이용해야 한다면 기억하기 어려울 것이다.

호스트 이름과 도메인 네임(Domain name)으로 바꿔 기억하기 쉬운 이름을 사용할 수 있는 것이다.

네트워크 상에 존재하는 모든 PC에는 IP 주소가 있는데, 모든 IP 주소가 도메인 이름을 갖는 것은 아니다. 로컬 PC는 localhost로 사용할 수 있지만, 그 외의 모든 도메인 이름은 일정 기간 대여하여 사용한다.

브라우저의 검색창에 도메인 이름을 입력해 해당 사이트로 이동하기 위해선, 해당 도메인 이름과 매칭된 IP 주소를 확인하는 작업이 필요한데, 네트워크에는 이를 위한 별도의 서버가 있다.

DNS는 Domain Name System의 약자로, 호스트의 도메인 이름을 IP 주소로 변환하거나 반대의 경우를 수행할 수 있게 개발된 데이터베이스 시스템이다.

브라우저의 검색창에 naver.com을 입력하면, DNS에서 IP 주소 125.209.222.142를 찾는다. 그리고 이 IP 주소에 해당하는 웹 서버로 요청을 전달해 클라이언트와 서버가 통신할 수 있게 한다.
시스템 작업이나 서버 교체 등으로 IP 주소가 변경되는 경우도 있다.


이미지 출처

BLUECAT
codestates
NordVPN
Luuii
de_sj_awa
webweb

post-custom-banner

0개의 댓글