본문 바로가기

IT/네트워크39

[ 네트워크 ] IPv6 IPv6 IPv6 32bit가 부족할 것에 대비해 나온 것이 64bit를 사용하는 IPv6이다. 더불어 IP버전을 바꾸면서 기존 IPv4의 header에서 필요없는 부분을 떼고, 진짜 사용할 것만 남겨 header format을 깔끔하게 바꾸었다. - ver : 4bit. IPv6 version에 해당하는 bit가 들어감. - pri : data가 flow 형태로 전달되는데, flow간에 우선순위를 정해서 보낼 수 있게 해주자. 중간 라우터들이 우선순위에 대응해서 데이터를 빨리 보내줄 수 있음. scheduling하는 것임. - flow label : flow를 구분해 줄 수 있는 ID. app1과 app2가 보내는 데이터는 다른 flow임. - payload len : payload의 길이. - nex.. 2020. 5. 23.
[ 네트워크 ] NAT (Network Address Translation) NAT (Network Address Translation) IPv4주소 고갈과 IPv6 사용 중인 IPv4는 32bit로 표현할 수 있는 IP주소의 개수가 2^32개인데, 이것으로 전세계의 모든 host를 커버하지 못한다. 4~5년 전에 ICANN은 IP주소가 고갈되었다고 발표하였다. 그래서 IP주소체계를 바꿔서 IP주소를 64bit로 표현하는 IPv6로 사용하자고 하였다. 그런데 이것은 20년 전부터 존재했으나 잘 되지 않고 있다. 2010년 되기 전에도 한창 중국이 커지면서 IP주소 부족 문제가 심각해졌다. 중국에서 IPv6로 가자는 주장이 강했다. 인터넷을 주도하고 있는 나라가 미국인데, 미국은 IP주소를 이미 충분히 가지고 있었기 때문에 급하지 않았다. IP주소의 상당부분을 미국이 가지고 있다... 2020. 5. 23.
카페에서 와이파이가 끊기는 이유 카페에서 와아파이를 사용하다보면 가끔씩 와이파이가 끊길 때가 있다. 불편하지만 알아볼 생각은 안했었는데 Internet Protocol을 공부하면서 한가지 알아낸 사실이 있다. 바로 DHCP를 이용해 IP 주소를 할당받는 방법에는 IP 임대 만료날짜가 있다는 것이다. IP 임대 만료 날짜란? 말그대로 할당받은 IP를 사용할 수 있는 날짜이다. 즉 해당 IP로 네트워크를 사용할 수 있는 시간이다. IP는 표현할 수 있는 게 제한적이다. 특히 IPv4 는 32bit로만 표현하기 때문에 64bit인 IPv6보다 제한적이다. 예를 들어서 회사에서 할당받은 IP가 128개인데, 네트워크를 이용하는 직원은 150명이라고 해보자. 128개의 IP를 128명의 직원에게 할당하면 나머지 22명은 네트워크를 이용하기 힘들.. 2020. 5. 20.
[ 네트워크 ] Internet Protocol : IP (IPv4) Internet Protocol : IP (IPv4) 대표적인 protocols - transport layer : TCP, UDP - network layer : IP, routing protocol IP datagram의 구조 - ver : 4bit. IPv4와 IPv6 두개만 존재함. 비트 하나로 표현할 수 있지만, IP를 만들 때 미래에 어떻게 될 지 모르니 넉넉하게 4bit 줌. 총 16개의 version 표시가 가능하다. - haed len : 4bit. hearder의 길이. option까지가 header이다. - type of service : 8bit. QOS(Quality Of Service)를 하기위해 서비스 차등제공을 위해 서비스의 종류를 표시한다. - length : 16bit. .. 2020. 5. 20.
[ 네트워크 ] Router Router Router의 구조 1. input port 2. high-speed switching fabric 3. output port routing processor는 control plane영역. software이다. 시간은 millisecond가 걸린다. 그 아래는 data plane영역. hardware이다. 시간은 nanosecond가 걸린다. 그렇다면 bottleneck은 routing processor가 된다. 여기서 input과 output의 forwarding은 nanosecond로 빠르지만, 그 중간에서 processing하는 routing processor가 millisecond로 느리기 떄문에 input port에 queueing delay가 생기게 된다. Input port p.. 2020. 5. 14.
[ 네트워크 ] Network layer Network layer transport layer vs network layer 1. transport layer end to end. 양 종단 간에 있는 신뢰성 있는 전달로 보내는 것이 transport layer이다. 2. network layer network 계층은 각각 라우터에서 모두 참조한다. 각 라우터에서 network layer의 header를 까보는 것이다. 이 때 읽은 정보를 토대로 routing하는 등 이런 부분을 처리한다. datagram transport layer에서는 segment였던 것이 network layer에서는 datagram이라고 부른다. 그래서 보내는 쪽이 segment를 datagram으로 encaptulation하고, 받는 쪽에서 segment로 바꾸어줘서 .. 2020. 5. 13.
Wireshark 패킷 분석 (DNS, TCP) Wireshark 패킷 분석 (DNS, TCP) 이번에 제가 해 볼 것들은 wireshark를 통해 1. DNS request, response message 분석 2. TCP Handshaking 3. Sequence, ACK number 분석 4. persistent, non-persistent connection 확인 이것들을 간략하게 분석해 보겠습니다. DNS request, response message 분석 우선, wireshark의 filter를 port 53 으로 설정했습니다. (port 53 = DNS) 저는 http://google.com 에 접속해보았습니다. (https가 아닌, http 입니다.) 구글에 접속하려면, 맨 처음 www.google.com의 의 주소를 알려달라고 requ.. 2020. 5. 10.
[ 네트워크 ] Electronic mail (E-mail) Electronic mail (E-mail) Email system은 크게 3가지로 구성되어 있다. 1. user agent ( email을 주고받는 쪽. email을 사용하는 PC) 2. mail server 3. SMTP (simple mail transfer protocol) 위의 그림은 간단한 email system을 나타낸 것이다. User Agent mail reader라고도 한다. 메일을 작성하거나 읽는 것을 수행한다. Mail server email msg를 가지고 있는 server이다. email을 갖고 온다고 하면, server에 저장되어 있는 메시지를 가지고 온다 생각하면 된다. 위 그림의 mailbox는 유저에게 들어온 email들을 가지고 있다. message queue는 나갈 e.. 2020. 5. 4.
[ 네트워크 ] Web Caching (proxy server) Web Caching (proxy server) Web caches client가 멀리 있는 origin server까지 가지 않고 가까운 proxy server의 web caches 파일에 접근하여 원하는 파일을 받아오는 기술이다. 과정은 이러하다. - client가 proxy server에 접근해 caches file이 있는지 본다. => caches가 있으면 proxy server에서 데이터를 받아온다. => caches가 없으면 proxy server는 origin server로부터 데이터를 요청하여 받아온다. 받은 데이터는 proxy server에 저장된다. 그리고 client에게 데이터를 전달해준다. 그래서 최초의 client를 제외한 clients는 proxy server에서 정보를 받아올 .. 2020. 5. 4.
[ 네트워크 ] Cookie Cookie Cookie란? HTTP는 state를 가지고 있지 않아, user의 id나 정보를 읽을 수 없다. 그래서 콘텐츠 제공, 차단 등과 같은 서비스를 제공하지 못한다. 이러한 단점 때문에 HTTP는 state를 가지고 있는 Cookie를 사용한다. Cookie는 state가 있어 사용자 정보를 읽어와 사용자 식별, 콘텐츠 제공 등을 수행할 수 있게 된다. Cookie의 종류 1. HTTP response message의 header line에 Cookie 2. HTTp request message의 header line에 Cookie 3. user의 host, user의 browser에 의해 관리되는 Cookie 4. 웹사이트 백엔드 데이터베이스 상에 있는 Cookie 이 4가지 종류가 어떻게 .. 2020. 5. 4.
[ 네트워크 ] Web and HTTP Web and HTTP Web page는 objects로 구성되어 있다. objects는 HTML file, JPEG, Java applet, audio file 등등으로 이루어져 있다. web page는 기본 objects가 포함된 기본 HTML file로 구성되어 있다. 각 오브젝트는 URL로 addressable되어 있다. HTTP는 웹에서 사용되는 web application layer protocol이다. web application은 HTTP외에는 protocol 없다고 생각하면 된다. client는 서버로부터 정보를 받아서 display한다. 서버는 URL 정보를 가지고 있고, 해당하는 응답을 보내준다. application layer에 있는 HTTP는 아래 layer인 transport l.. 2020. 5. 3.
[ 네트워크 ] Processes Communicating Processes Communicating Process Process는 호스트 내에서 돌아가는 프로그램이다. 같은 호스트 내에서 복수개의 processes가 돌아갈 수 있다. 두 개의 processes가 내부적으로 communication할 수 있다. 다른 호스트들에 있는 processes과는 messages 교환을 통해 communication한다. Client-Server 구조에서는, server는 데이터를 제공하기 위해. client는 데이터를 받기 위하기 때문에 process가 다르다. P2P 구조는 client processes와 server processes가 존재한다. Socket processes가 messages를 주고받는 경로(문)을 Socket이라고 한다. 양쪽의 applicatio.. 2020. 5. 3.
[ 네트워크 ] client-server, peer to peer client-server, peer to peer Application architectures는 두가지가 있다. 1. client-server 2. peer-to-peer (P2P) Client-Server client-server 구조는 client와 server 간에 데이터를 주고받는 형태이다. client는 데이터를 요청해서 받는 쪽이고, server는 데이터를 보내는 쪽이다. Server - client가 언제 데이터를 요청할 지 모르기에, 항상 ON 상태이다. - client가 같은 IP 주소로 정보를 요청하므로 IP주소가 고정되어 있다. - data center(cloud 기반)를 통해서 서버가 운용되는 경우도 있다. Client - 간헐적으로 연결된다. - 일반적으로 동적 IP주소를 가진다.. 2020. 5. 3.
[ 네트워크 ] packet sniffing, IP spoofing packet sniffing, IP spoofing packet sniffing 공유된 Ethernet, wireless 같은 곳에서 일어난다. 네트워크 정보는 모든 곳에 뿌리고 그 사람이 맞는지 체크하는 방식이다. 이런 점을 이용한 것이 packet sniffing이다. 위의 예시를 보면, - B가 A한테 정보 보냄. - 그 정보가 A한테 가는데, C한테도 감. - C가 A인척을 해서 정보를 받음. IP spoofing 네트워크에서는 반드시 IP 주소를 포함하여 패킷을 보내야한다. C가 A한테 정보를 보내는데, source 정보를 B의 IP주소로 해서 보낸다. 그래서 A는 B가 보낸 패킷으로 인식하고 받는 것이다. [참고] Computer Networking A Top-Down Approach 7-th.. 2020. 5. 3.
[ 네트워크 ] Internet protocol layers Internet protocol layers 네트워크는 매우 복잡하다. 매우 많은 "pieces"가 존재한다. hosts, routers, links of various media, applications, protocols, hardware, software etc... 이런 상황에서 어떻게 구조를 잘 만들까..?? 바로 네트워크는 layer 별로 구분을 해놓아서 각기 다른 기능을 수행해낸다. 네트워크에서 layer를 나눈다는 것은 소프트웨어에선 Component를 나눈다는 표현과 같다. 컴퓨터를 생각해보자. 일체형 컴퓨터를 보면, 모니터와 본체가 붙어있다. 하나라도 고장나면 전부 가져가야 한다. 일체형이 아니라 분리형 컴퓨터라면, 고장나면 고장난 것만 가져가면 된다. 즉, 각각 모듈별로 관리해주면 되.. 2020. 5. 3.