네트워크 19

L2 스위치란?

L2 스위치 맥어드레스는 인위적으로 조작하지 않는이상 전세계에서 유니크한 값입니다. 48bit로 이루어져 있고 이 맥주소로 스위칭을 합니다. 네트워크는 스위치의 집합체라고도 볼 수도 있는데 PC에서 NIC를 통해서 렌카드에 연결된 렌케이블은 스위치와 연결돼 있습니다. 이 스위치의 이름이 L2Access입니다. L2Access에서 또다른 스위치로 넘어가는데 이를 L2Distribution스위치라고합니다. 그럼 L2Access과 L2Distribution의 차이는 L2Access는 EndPoint유저를 위한 스위치 이고 L2Distribution는 스위치를 위한 스위치입니다. 즉 l3라우터와 연결돼 있는 장비 입니다. 그렇기때문에 L2Access의 장비에 반드시 한 포트는 Uplink를 위해서 포트하나를 비..

네트워크 2023.08.20

패킷의 생성원리

패킷 생성원리 프로세스가 소켓에 입출력을 시도하면 stream형식의 데이터를 일정단위로 끊어서 세그먼트화 한 후에 패킷형식으로 인캡슐레이션하면 패킷이 생성됩니다. 개발할때 소켓형태로 뭔가를 보낼때 메서드 이름이 send 입니다. 만약에 send할때 2000byte정도보낸다샘 치면 패킷이 최소 2개는 필요한 것입니다. (패킷은 최대 1500byte) 프레임 택배상자가 패킷이면 송장은 Header가 돼고 내용물은 payload(새그먼트)가 됩니다. 그리고 그 택배상자(패킷)을 넣을 택배 트럭을 프레임이라고 생각하면 된다고 합니다. 새그먼트는 l4 패킷은 l3 프레임 l2 dpi 패킷에 페이로드까지 다 뒤지는 행위

네트워크 2023.08.20

인터페이스 선택 원리와 기준

인터페이스 선택의 핵심원리 예시를 들어 노트북으로 크롬을 실행 시키고 있다 이 노트북엔 유선인터넷이 연결돼 있는 상태입니다. 이때 무선 와이파이를 켜서 노트북에 연결시키려고합니다. 이때 이 호스트의 ip주소는 몇개를 가질 수 있을까? 일반적으로 생각하면 2개이다. 하지만 만약에 유선인터넷은 kt망을 사용하고 무선망은 skt를 쓰고 있습니다. ip도 두개 통신망도 두개 이럴땐 누가 이 크롬을 사용하게 될까? 그렇다면 크롬을 실행시켜서 네이버에 접속을 시도할때 크롬의 소캣이 TCP/IP가 바인딩 돼야 할텐데 이때 어떤 네트워크 인터페이스를 사용할지 선택을 해야합니다. 위 데이터는 현제 컴퓨터의 라우팅정보를 나타낸것입니다. 여기서 인터페이스가 해당 글에서 봐야할 대상인데 어떤 ip주소는 어떤 네트워크 인터페이..

네트워크 2023.08.20

네트워크에서 데이터 단위

유저모드에 어플리케이션 프로세스(소켓수준) 수준에서는 스트림 스트림은 끝을 알 수 없는 일열로 쭉 이어진 데이터를 뜻합니다.(파일) 이를 TCP로 보낼때는 잘개잘개 쪼개서 보냅니다. 이 잘개잘개 쪼개진 조각하나를 세그먼트라고하고 이 세그먼트를 전송가능한 형태로 포장한것을 패킷이라고 합니다. 일반적인 맥시멈 세그먼트 사이즈는 1500키로바이트 입니다.

네트워크 2023.08.20

Switch가 하는 일이 뭘까?

Swhitch가 하는 일이 뭘까? Network를 고속도로에 비유하여 생각하면 쉽게 이해할 수 있다고 합니다. 출발지에서 어떠한 목적지로 향할때 목적지로 가기 위해서 이정표를 보고 어떠한 교차로를 거치기도 합니다. 이때 그 경로는 switch로 생각할 수 있고 그 경로로 진입하는 것을 switching이라고 합니다. 이때 중요한것은 이에대한 목적이 단순히 목적지에 도착하는것이 아니라 얼마나 효율적으로 최소한의 경로선택(스위칭)만 하고 갈수 있냐입니다. 다시 네트워크 세상에 와서 라우터(l3스위치)끼리는 서로 통신을 하고있다가 패킷단위의 데이터가 들어오면 어떠한 근거를 가지고 가장 빠른 경로를 통해서 데이터를 보내준다. 이때 그 어떠한 근거가 바로 라우팅 테이블 이라고합니다.

네트워크 2023.08.20

개발자 관점에서의 Port 번호

개발자는 port를 process 식별자로 생각한다. 컴퓨터를 네트워크 관점에서 세가지 레이어로 나누면 응용계층 커널계층 하드웨어 계층으로 나눌 수 있는데 이때 커널에 있는 TCP는 커널계층에 있고 애플리케이션은 응용계층에 있는것이 일반적입니다. 그럼 이 응용계층에 있는 애플리케이션은 본질은 파일이지만 이 파일과 커널의 프로토콜을 연결할 수 있도록 인터페이스가 제공되는데 이때 추상화 된 파일을 소켓이라고 합니다. 이 소켓을 생성할때 tcp소켓인 경우 소켓에 attech되는 정보가 Port번호라고 합니다. Port는 최대 16bit -2 까지 만들수 있습니다. 그리고 이 Port는 각 프로세스마다의 고유의 번호가 되기때문에 한개의 프로세스만이 독립적으로 가질 수 있는 번호가 할당되며 그렇기 때문에 개발자의..

네트워크 2023.08.20

Host, Switch, network 와 개념/ IPv4 주소 체계

Host, Switch, Network host: 컴퓨터가 Network에 연결이 돼 있으면 호스트라고 부른다. 호스트는 크게 network 이용주체와 network자체로 나뉜다. Switch : 컴퓨터가 network에 연결된 호스트가 아닌 컴퓨터 자체가 network를 이루고 있을때 Switch가 된다. 대표적으로 Router가 있다. EndPoint : network 이용주체의 다른말이다. 이용주체는 Peer, Server, Client등으로 기능과 존제의 이유에따라서 나뉜다. NetWork: 가장 큰 풀이 internet이다 이 internet을 이루는 핵심 구성요소가 Router와 dns가 됩니다. 네트워크 자체를 이루고 있는 컴퓨터가 switch고 대표적인 스위치가 라우터가 있다. 방화벽이나 ..

네트워크 2023.08.20

MAC,IP,Port 번호가 식별하는것

MAC,IP,Port 번호가 식별하는것 위사진은 osi 7계층 사진입니다. 전송 계층에 Port 번호 Port번호가 재밌는 부분이 업무에 따라 달라진다고 합니다. 소프트웨어개발자는 프로세스 식별자라고 생각하고 네트워크 업무를 보시는분은 서비스라고 하고 실제로 통신공사를 하는 분은 인터페이스라고 말한다고 합니다. 네트워크 계층에 IP주소 v4,v6 물리계층 MAC 어드레스 주소 NIC(네트워크 인터페이스 카드) 모든 렌카드는 맥어드레스가 있습니다. 네트워크 인터페이스카드 NIC은 호스트를 식별하지는 않는다. NIC하나에 여러게의 IP를 바인딩 해서 사용할 수 있다. MAC주소는 하드웨어 주소라고도 한다. MAC주소는 변경할 수 있다. MAC IP Port는 각 각의 계층에 위치해 있습니다.

네트워크 2023.08.20

프록시란?

프록시? WEB PROXY proxy 는 중간에 있는 정검다리입니다. 사전적의미는 대리인입니다. 클라이언트 프록시 서버 클라이언트가 어떠한 요청을 할때 서버로 바로 보내는 것이 아니라 그사이에 있는 프록시에게 보내고 이 프록시가 서버로 보내게되고 서버입장에서도 마찬가지 이다. 왜? 왜 그렇게 굳이 하나의 징검다리를 두고 통신을 하는 걸까? 캐싱을 통한 회선비용 절감 빛 부하감소 보안 Application Control, 네트워크 경계 Source IP 변조/우회프록시 박싱을 이용하는 네트워크 솔루션 Access VPN L4 WEBFW 등등...

네트워크 2023.08.20