[Network]网络层
来源:互联网 发布:汉语网络域名注册 编辑:程序博客网 时间:2024/05/23 11:15
(一)介绍
一、Forwarding
一个router从输入端到输出端的过程
二、Router
在Router之间进行传递的过程
三、Connection Setup:
Q:网络层的连接和传输层的连接有什么关系:这两种连接是不同的,且在一定程度上是独立的。当传输层的连接建立以后,网络层的router并不会察觉这个连接的建立,
四、Network Service Mode
IP:best-effort
ATM:Several Model
(二)连接
一、有连接服务:Virtual-Circuit Networks
VC num:
不同的原因:减小VC num域;独立设置,加快速度,Link和Link之间无关联性
Q:为什么要设置VC num,已经有了Interface num
Q:上面的连接问题的延续:在传输层的连接,是建立在连接两个中断上的;而网络层的连接是建立在两个系统之间path的所有router上的,每一个router都会察觉到VC的通过。
二、无连接服务:Datagram Networks
每个包都有一个目的地(IP addr),按这个地址组织router的转发表。输入的连接按prefix match路由表entry。
(三)Router
一、Input processing
“Match plus Action”
这里还会进行了checksum的检查,IP包计数等操作,不仅仅是路由表的匹配。
二、Switching
Switching via Memory
这样不同的Input port好像是共享memory的进程,换入和换出。但是在一个时间只能处理一个,因为读写口只有一个。
Switching via Bus
在总线上传输,每个Output port都会收到包,但是只有label匹配的port才会处理这个包
但是同样,由于每条bus上只能有一个包在传输,所以在某一时刻,还是只能处理一个包
Switching via an Interconnection network
阵列的匹配方式
三、Output Processing
进入Buffer队列,转换进行Link Layer
四、Queuing
Buffer
主要是Output buffer
size:
B = RTT(round-trip time) * C(link capacity) ——TCP下
原因:在来回三次握手的情况下,一个包的处理时间为RTT,这样,在处理这个包的时间里,所有到达的包应该都被Buffer。
改进:
B = RTT * C * sqrt(N) (number of TCP flows)
Packet scheduler
QoS保证:需要使用不同的调度算法,选择Buffer中合适的packet进行处理。
Active Queue Management(AQM)
解决:没有足够的空间和时间来buffer incoming packets
在Buffer满之前就drop一些packets,这样避免了buffer满之后,相互发送message浪费时间。
Random Early Detection(RED)
有一个max和min作为threshold
五、The Routing Control Plane
一般和Data Plane实现在一起,通过分治,把控制分给不同的router,通过message传递信息。现在有人想把Control Plane放在router外面,让控制变得更快。
Q:control plane和data plane的关系和区别
(四)Internet Protocol
一、Internet Layer 主要由三部分构成
Internet Protocol(IP)
Routing Protocol(RIP,OSPF,BGP)
Internet Control Message Protocol(ICMP)
二、Datagram Format
First 4 Bytes: Version Num - Header length - TOS - Datagram length(Header+Data)
Second 4 Bytes(used for segment):Identifier - Flags - Fragment offset
Third 4 Bytes:TTL - Transport Protocol - Header checksum
Last 8 Bytes:Source IP address - Destination IP address
Option:if any
1. IP Datagram Fragmentation
Why Fragment?
MTU of link layer frame
Reassembly:
Put the job in end system not in the network routers
How:
identification:在大的datagram建立的时候就赋予了一个号码,分割的时候这个号码不变
flags:最后一个子fragment是0,别的都是1
offset:在原来大的datagram中的位置
2. IPv4 address
CIDR:减小路由表的大小
255.255.255.255 作为目的地IP address,会发起一次广播到整个子网中,路由器选择性地将信息传播到子网外。
Obtain a block of Address——ISP
Obtain a Host Address——DHCP
(1) DHCP server discovery: D-255.255.255.255:67, this-0.0.0.0:68 broadcast(2) DHCP server offer: D-255.255.255.255:68, your net address(3) DHCP Request: Client selects a address and echoes back(4) DHCP ACK: confirming message
Network Address Translation(NAT)
3. Internet Control Message Protocol(ICMP)
两类ICMP(1) error report:Destination(2) echo ping
4. IPv6
(五)路由算法
一、分类
二、Link-State Routing Algorithm
三、Distance Vector Algorithm
Bellman-Ford Equation(Dynamic Programming)
dx(y)=minv{c(x,v)+ dv(y)},
Distance Vector algorithm
Link Failure
link-cost change
四、Hierarchical Routing
(六)路由协议
一、Intra-AS Routing——RIP
二、Intra-AS Routing——OSPF
三、Inter-AS Routing——BGP
- 网络 网络层(Network)
- [Network]网络层
- NCFS 网络层 ./network
- 网络层(Network)
- 基础计算机网络——网络层(Network Layer)笔记
- 网络7层协议详解——Network layer protocol
- [Network]数据链路层
- 网络层
- 网络层
- 网络层
- 网络层
- 网络层
- 网络层
- 网络层
- 【网络层】
- 网络层
- 网络层
- 网络层
- 【剑指offer】题目1510:替换空格
- 网络编程之TCP与UDP
- C#编程总结(六)异步编程
- 接口(interface)
- 从FusionIO的NVM压缩接口谈起
- [Network]网络层
- 线程和Swing
- sdk、jdk、jre的区别
- HDU 1575 Tr A
- 京东内部资料【自然搜索排序白皮书】打算混京东的屌丝必看!
- C#利用zxing.net生成二维码和条形码并实现打印的功能
- 一步步学习数据结构和算法之直接插入排序效率分析及java实现
- 黄河旋风继续上班
- table 动态添加行