이 포스트는 널널한 개발자 강의를 참조하여 작성한 포스트입니다.
운영체제는 user mode와 kernel mode 두가지 모드를 변경해가며 권한을 부여받고 작동하는 걸로 알고 있다.
여기서 네트워크를 공부할때 항상 처음에 나오는 osi 7계층에 대한 레이어를 그리면 위와 같이 표현할 수 있다.
각 레이어별로 작동에 대한 개념적인 부분도 중요하겠지만, 그것은 추후에 다루고 다른 중요한 몇가지 개념을 집고 넘어가보도록 한다.
MAC 주소
Mac 주소는 하드웨어 단에서 NIC 라고 불리는 LAN 카드를 식별하는 주소를 뜻한다. 여기서 중요하게 기억하고 넘어갈 점은 MAC주소는 변경이 가능하다는 점이다.
IP 주소
L3 레이어인 네트워크 계층에서 사용되는 식별자이다.
현재는 v4, v6를 혼용해서 사용하고 있다.
여기서 나오는 개념이 Host 인데, Host는 "인터넷에 연결된 컴퓨터"를 뜻한다.
port 번호
한가지의 개념으로 말하기는 어렵다. 상황에 따라 식별하는 말이 다르기 때문이다.
---> 2023.11.08 추가
개발자 입장에서 port번호는 process식별자라고 생각하면 된다.
우리는 어떠한 프로세스가 실행되면 유저와 커널 사이에 소켓 file 이 존재한다.
그 socket을 통해서 우리는 운영체제에 의하여 동작하는데, Process 마다 통하는 소켓 번호가 다르고, 그걸 port 번호라 부른다.
만약에 엣지와 크롬 두개의 프로세스를 열었다고 생각해보자.
이 두 프로세스가 인터넷에 연결되려면 소켓을 열어야 한다. 각 프로세스마다 소켓 번호는 달라야하고 그걸 포트번호라 칭한다!
여기서 Host 에 대해서 좀 더 정리해보자면,
Host 는 네트워크에 연결된 컴퓨터다.
그리고 Host 는 두가지로 나뉜다.
1. 네트워크 자체를 이루는 것인지
2. 네트워크를 이용하는 것인지
1번 이면, Switch 라고 불린다
2번 이면, End-point 라고 불린다. -> 역할에 따라서 peer, server, client 로 불린다.
여기서 IP 주소로 스위칭 한다고 하면, L3 스위치라 불리고, 대표적으로 Router 가 있다.
Network
즉 인터넷을 뜻하고, 인터넷을 이루는 것은
거대한 Router의 집합체 + DNS