<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>swdev_96.log</title>
        <link>https://velog.io/</link>
        <description>devSW</description>
        <lastBuildDate>Thu, 15 Jun 2023 06:40:40 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>swdev_96.log</title>
            <url>https://velog.velcdn.com/images/swdev_96/profile/e81b98a1-c6c7-495a-be2e-df9a66db05d5/social_profile.png</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. swdev_96.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/swdev_96" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Layer별 데이터 단위]]></title>
            <link>https://velog.io/@swdev_96/Layer%EB%B3%84-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%8B%A8%EC%9C%84</link>
            <guid>https://velog.io/@swdev_96/Layer%EB%B3%84-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%8B%A8%EC%9C%84</guid>
            <pubDate>Thu, 15 Jun 2023 06:40:40 GMT</pubDate>
            <description><![CDATA[<p>L1~L2 Data: Frame
L3 Data: Packet (최대크기 MTU)
L4 Data: Segment (최대크기 MSS-&gt; 1460bytes, MTU가 1500bytes인 경우)
Socket 수준: Stream</p>
<h4 id="stream의-특징">Stream의 특징</h4>
<ul>
<li>시작과 끝이라는 개념이 없어서 크기를 정확히 알 수는 없음 -&gt; application에서 사용하기 때문에</li>
<li>Stream이 TCP로 내려가면 segmentation을 거쳐서 segment로 분할함</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[패킷의 생성,전달, 소멸]]></title>
            <link>https://velog.io/@swdev_96/%ED%8C%A8%ED%82%B7%EC%9D%98-%EC%83%9D%EC%84%B1%EC%A0%84%EB%8B%AC-%EC%86%8C%EB%A9%B8</link>
            <guid>https://velog.io/@swdev_96/%ED%8C%A8%ED%82%B7%EC%9D%98-%EC%83%9D%EC%84%B1%EC%A0%84%EB%8B%AC-%EC%86%8C%EB%A9%B8</guid>
            <pubDate>Thu, 15 Jun 2023 05:38:56 GMT</pubDate>
            <description><![CDATA[<ul>
<li>패킷을 택배에 비유해서 생각해보면 비슷함</li>
</ul>
<ol>
<li>택배를 보낼 물건을 준비</li>
<li>택배를 포장할 상자를 준비</li>
<li>택배를 포장하고 송장 부착</li>
<li>택배를 보내는 사람의 집에서 택배기사에게 전달 -&gt; 집==host, 택배기사==gateway</li>
<li>택배사별 절차를 거쳐서 받는사람의 주소로 택배를 전달 -&gt; 택배사가 절차를 거쳐서 받는사람에게 전달하는 과정 == routing</li>
<li>받는 사람이 택배를 받아봄 -&gt; 받는 사람 == 포트번호</li>
</ol>
<ul>
<li>프로세스가 네트워크를 이용해서 데이터를 보내는 절차로 바꾸면</li>
</ul>
<ol>
<li>프로세스가 데이터를 커널에 있는 <strong>TCP/IP를 추상화한 인터페이스</strong>인 소켓에 write(==send)</li>
<li>이게 TCP단으로 내려가면 header가 붙어서 segment가 됨</li>
<li>L3로 넘어가서 header가 붙고 packet이 됨</li>
<li>L2로 넘어가서 ethernet frame header가 붙어서 frame이 됨</li>
<li>NIC을 타고 나감</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[Encapsulation, Decapsulation]]></title>
            <link>https://velog.io/@swdev_96/Encapsulation-Decapsulation</link>
            <guid>https://velog.io/@swdev_96/Encapsulation-Decapsulation</guid>
            <pubDate>Thu, 15 Jun 2023 05:17:34 GMT</pubDate>
            <description><![CDATA[<p>Encapsulation</p>
<ul>
<li>L2 Frame을 뜯으면 payload안에 L3의 IP Packet이 들어있음</li>
<li>L3 packet을 뜯으면 payload안에 L4의 TCP segment가 들어있음</li>
<li>L4를 넘어가면 encapsulation이 아닌 stream구조</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[L3 Packet]]></title>
            <link>https://velog.io/@swdev_96/L3-Packet</link>
            <guid>https://velog.io/@swdev_96/L3-Packet</guid>
            <pubDate>Thu, 15 Jun 2023 05:06:53 GMT</pubDate>
            <description><![CDATA[<p><strong>Packet==L3 Packet</strong> -&gt; 단위 데이터</p>
<ul>
<li>패킷은 L3단에서 사용되니까 Packet만 나와도 IP랑 L3가 떠올라야함</li>
<li>Header, Payload로 나눠짐</li>
<li>Packet의 최대 크기는 MTU(일반적으로 1500bytes==1.4KB)</li>
<li>wireshark를 이용해서 네트워크 패킷을 뜯어볼 수 있음</li>
<li>Header에서는 src와 dst정보가 가장 핵심</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[IPv4]]></title>
            <link>https://velog.io/@swdev_96/IPv4</link>
            <guid>https://velog.io/@swdev_96/IPv4</guid>
            <pubDate>Thu, 15 Jun 2023 04:47:24 GMT</pubDate>
            <description><![CDATA[<p>IPv4 -&gt; 8bit *4 로 구성</p>
<p><img src="https://velog.velcdn.com/images/swdev_96/post/baa2c754-1613-4aba-8b94-ec42ad7bc0dd/image.png" alt=""></p>
<p>c클래스는 32bit 중 앞에 24bit는 Network ID, 뒤에 8bit는 Host ID</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[Hypervisor]]></title>
            <link>https://velog.io/@swdev_96/Hypervisor</link>
            <guid>https://velog.io/@swdev_96/Hypervisor</guid>
            <pubDate>Tue, 13 Jun 2023 08:12:00 GMT</pubDate>
            <description><![CDATA[<h4 id="hypervisor란">Hypervisor란?</h4>
<ul>
<li>VM을 생성하고 자원을 할당하는 소프트웨어</li>
<li>단일 호스트 시스템에 여러 VM을 생성하기위해 사용 =&gt; VM별로 다른 OS, 하드웨어 리소스를 가질 수 있음</li>
</ul>
<h4 id="hypervisor의-종류">Hypervisor의 종류</h4>
<ol>
<li>Type1, Baremetal, native</li>
</ol>
<ul>
<li>하드웨어에서 직접 구동되는 유형으로 HW에 직접 접근이 가능</li>
<li>하드웨어 자원을 직접 요청할 수 있어서 안정적이고 성능이 좋다</li>
<li>설치된 운영체제 없이 간단한 운영체제 역할을 하면서 VM생성</li>
<li>VM의 OS의 종류가 더해질때마다 해당 OS에 맞는 드라이버를 세팅해야함 =&gt; OS에 맞는 드라이버가 있어야 VM에 HW를 할당해줄 수 있으니까</li>
<li>주로 기업형에서 사용</li>
<li>ex. ESXi(VMware), KVM(Linux), XenServer(Citrix), Hyper-V(MS)......</li>
</ul>
<ol start="2">
<li>Type2, hosted</li>
</ol>
<ul>
<li>운영체제 위에 설치된 Hypervisor</li>
<li>HW리소스를 완벽하게 제어할 수 없음</li>
<li>시스템에서 Hypervisor에 할당한 리소스를 VM에 할당하는 방식</li>
<li>1형과 비교해 설치, 구성이 편하다는 장점이 있음</li>
<li>주로 개인 사용자용</li>
<li>ex. virtualBox(Oracle), Parallels, VMware workstation</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[LAN, WAN, Broadcast]]></title>
            <link>https://velog.io/@swdev_96/LAN-WAN-Broadcast</link>
            <guid>https://velog.io/@swdev_96/LAN-WAN-Broadcast</guid>
            <pubDate>Tue, 02 May 2023 09:10:05 GMT</pubDate>
            <description><![CDATA[<h4 id="broadcast">Broadcast</h4>
<ul>
<li>브로드캐스팅은 효율이 떨어진다</li>
<li>반대로는 Unicast가 있다</li>
<li>LAN환경에서 하나의 pc가 브로드캐스팅을 하면 나머지 pc는 네트워크를 사용할 수 없음</li>
<li>따라서, 브로드캐스트는 최소화해야한다</li>
<li>브로드캐스트 범위를 줄여서 비용을 줄일 수도 있다</li>
</ul>
<h4 id="lan">LAN</h4>
<ul>
<li>네트워크를 구성하는 최소 단위</li>
<li>physical 영역을 주로 LAN이라고 함</li>
</ul>
<h4 id="wan">WAN</h4>
<ul>
<li>인터넷</li>
<li>논리적인 네트워크 == SW적</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[L2 Access Switch]]></title>
            <link>https://velog.io/@swdev_96/L2-Access-Switch</link>
            <guid>https://velog.io/@swdev_96/L2-Access-Switch</guid>
            <pubDate>Tue, 02 May 2023 08:51:56 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/swdev_96/post/a20b097c-cdbc-402b-b517-3e0fff27a932/image.png" alt=""></p>
<h4 id="l2-distribution-switch">L2 Distribution switch</h4>
<ul>
<li>L2 스위치를 위한 고성능 스위치</li>
<li>VLAN기능을 제공하는 것이 일반적</li>
<li>대략, 하나의 사무실에서 L2 스위치를 쓰고, 한 층에서 하나의 L2 Distribution switch를 쓴다고 보면된다</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[NIC(Network Interface Controller)]]></title>
            <link>https://velog.io/@swdev_96/NICNetwork-Interface-Controller</link>
            <guid>https://velog.io/@swdev_96/NICNetwork-Interface-Controller</guid>
            <pubDate>Tue, 02 May 2023 08:34:25 GMT</pubDate>
            <description><![CDATA[<h3 id="nicni">NIC(==NI)</h3>
<ul>
<li>LAN카드라고도 부름</li>
<li>고유 MAC주소를 갖는다</li>
<li>L2의 네트워크 단위 =&gt; Frame</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[About Switch...]]></title>
            <link>https://velog.io/@swdev_96/About-Switch</link>
            <guid>https://velog.io/@swdev_96/About-Switch</guid>
            <pubDate>Tue, 02 May 2023 07:59:34 GMT</pubDate>
            <description><![CDATA[<h3 id="도로망을-떠올려보자">도로망을 떠올려보자</h3>
<ul>
<li>차를 이용해서 출발지부터 목적지까지 간다고 가정해보자</li>
<li>지도는 없고, 이정표만 보고 <strong>경로</strong>를 선택한다</li>
<li>교차로에서 경로를 선택하는 근거는 <strong>이정표</strong></li>
</ul>
<blockquote>
<p>도로망을 네트워크로 바꾸면</p>
</blockquote>
<ul>
<li><p>교차로 == Switch</p>
</li>
<li><p>경로 선택 == Switching, interface선택</p>
</li>
<li><p>이정표 == 식별자</p>
</li>
<li><p>차 == 유통 단위</p>
</li>
<li><p>Layer가 달라지면 명칭들만 바뀜</p>
</li>
</ul>
<blockquote>
<p>L3(Network layer)라면</p>
</blockquote>
<ul>
<li>switch =&gt; router</li>
<li>차 =&gt; packet</li>
<li>이정표 =&gt; IP주소 기반의 routing table</li>
</ul>
<ul>
<li>Switching시 비용을 Metric값이라고함</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[Host란?]]></title>
            <link>https://velog.io/@swdev_96/Host%EB%9E%80</link>
            <guid>https://velog.io/@swdev_96/Host%EB%9E%80</guid>
            <pubDate>Tue, 02 May 2023 07:28:59 GMT</pubDate>
            <description><![CDATA[<h4 id="host">Host?</h4>
<ul>
<li>Network에 연결된 computer를 의미한다</li>
</ul>
<h4 id="host의-종류">Host의 종류</h4>
<ol>
<li>Switch<ul>
<li>Network 그 자체를 이루는 host</li>
<li>ex) router, IPS, Tab switch, aggregation switch</li>
</ul>
</li>
<li>End-point (=단말기)<ul>
<li>Network를 이용하는 주체</li>
<li>ex) client, server, peer(@p2p)....</li>
</ul>
</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[OSI 7 layer 식별자]]></title>
            <link>https://velog.io/@swdev_96/OSI-7-layer-%EC%8B%9D%EB%B3%84%EC%9E%90</link>
            <guid>https://velog.io/@swdev_96/OSI-7-layer-%EC%8B%9D%EB%B3%84%EC%9E%90</guid>
            <pubDate>Tue, 02 May 2023 06:57:16 GMT</pubDate>
            <description><![CDATA[<table>
<thead>
<tr>
<th align="center">OSI</th>
</tr>
</thead>
<tbody><tr>
<td align="center">HTTP(= Application)</td>
</tr>
<tr>
<td align="center">Presentation</td>
</tr>
<tr>
<td align="center">SSL==TLS(= Session)</td>
</tr>
<tr>
<td align="center">TCP, UDP(= Transport)</td>
</tr>
<tr>
<td align="center">Internet(= Network)</td>
</tr>
<tr>
<td align="center">Ethernet(= Data Link)</td>
</tr>
<tr>
<td align="center">NIC(= Physical)</td>
</tr>
</tbody></table>
<ol>
<li>이더넷(Ethernet)과 NIC의 식별자 -&gt; <strong>MAC주소</strong><ul>
<li>정확히는 NIC의 식별자(1개당 MAC주소 하나씩)</li>
</ul>
</li>
<li>Internet의 식별자 -&gt; <strong>IP주소( IPv4)</strong><ul>
<li>인터넷을 사용하는 컴퓨터에 붙는 주소 == Host의 주소</li>
</ul>
</li>
<li>TCP, UDP의 식별자 -&gt; <strong>port번호</strong><ul>
<li>port번호를 L2에서는 인터페이스 식별자, pc,server에서는 process혹은 service 식별자라고 하기도 함</li>
</ul>
</li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[User mode, Kernel mode]]></title>
            <link>https://velog.io/@swdev_96/User-mode-Kernel-mode</link>
            <guid>https://velog.io/@swdev_96/User-mode-Kernel-mode</guid>
            <pubDate>Tue, 02 May 2023 06:00:44 GMT</pubDate>
            <description><![CDATA[<h4 id="shell--kernel">Shell &amp; Kernel</h4>
<ul>
<li>커널은 운영체제의 핵심부로 컴퓨터의 자원을 관리하는 역할</li>
<li>커널은 User와 격리되어있음</li>
<li>user와 격리되어있는 커널을 연결시켜주는 System software가 shell</li>
</ul>
<h4 id="user-mode">User mode</h4>
<ul>
<li>user application이 실행되는 모드</li>
<li>사용자가 접근할 수 있는 영역을 제한하고, 컴퓨터의 자원에 맘대로 접근할 수 없음</li>
</ul>
<h4 id="kernel-mode">Kernel mode</h4>
<ul>
<li>컴퓨터의 자원에 접근, 명령을 할 수 있는 모드</li>
</ul>
<p><code>User mode와 Kernel mode를 연결해주는 것이 system call</code></p>
<h3 id="네트워크에서-user-mode와-kernel-mode">네트워크에서 user mode와 kernel mode</h3>
<ul>
<li>NIC(Network Interface Controller)(==랜카드)라는 물리적 hardware가 있고</li>
<li>hardware를 사용하게 해주는 sw인 driver가 있음</li>
<li>이것을 사용해 네트워크를 맺고 전송해주는 tcp/ip가 커널에 있고</li>
<li>tcp/ip를 유저모드에서 사용할 수 있도록 파일형태의 인터페이스로 만든것을 socket이라고 함</li>
</ul>
]]></description>
        </item>
    </channel>
</rss>