1、OSI与TCP/IP各层的结构与功能,都有哪些协议
OSI共七层,分别是:
物理层:物理介质上位流的透明传输,主要协议包括IEEE802,IEEE802.2;
数据链路层:为网络层提供透明的帧传输服务(错误检查功能),主要协议包括SLIP,CSLIP,PPP,ARP,RARP,MTU
网络层:提供交换和路由选择功能,协议包括IP,ICMP,RIP,OSPF,BGP,IGMP;
传输层:提供端对端的接口,协议包括TCP,UDP
应用层:负责两个应用程序之间的信息交换,包括文件传输,电子邮件,文件服务,虚拟终端 TFTP,SNMP,(前面为UDP)HTTP,FTP,SMTP,DNS,Telnet(TCp)
以上5层是TCP/IP各层,OSI还要加上表示层和会话层
会话层:为表示层建立会晤连接
表示层:可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取,主要做格式转换等等
2、TCP与UDP的区别
TCP是面向连接的可靠的传输;UDP是面向无连接的不可靠的传输;UDP的开销更小,数据传输速率更高,不必进行收发数据的确认,但是UDP可能丢包,不保证数据顺序。TCP一般用于文件传输,发送或者接受邮件,远程登录等等。UDP一般用于即时通信(QQ聊天)
3、TCP报文结构

16位源端口号 16位目的端口号
32位序号
32位确认序号
4位首部长度 保留6位 URG ACK PSH RST SYN FIN(6位) 16位窗口大小
16位校验和 16位紧急指针 (首部一般都是20个字节,UDP首部一般8字节)

URG 紧急指针有效
ACK 确认序列有效
PSH 接受方应该尽快将这个报文段交给应用层
RST 重新连接
SYN 同步序号用来发起一个连接
FIN 发端完成发送任务
扩展:IP报文格式

4位版本  4位首部长度(单位是4B) 8位服务类型  16位总长度
16位标示 3位标志 13位片偏移
8位生存时间  8位协议 16位首部检验和
32位源IP地址
32位目的IP地址

共20字节
4、TCP的三次握手与四次挥手过程,各个状态名称与含义,TIMEWAIT的作用
三次握手
第一次握手:建立连接时,客户端发送SYN包(syn=j)到服务端并进入SYN_SENT状态,等待服务端确认;
第二次握手:服务端收到SYN包,并发送ack+syn包,ack=j+1,syn=k服务器进入SYN_RECV状态;
第三次握手:客户端收到ack+syn包,向服务器发送确认包ack=k+1,服务端和客户端都进入ESTABLISH状态;
为什么要三次握手?防止已失效的请求报文突然到达服务端,造成错误。比如开始发送的请求报文到达之前客户端和服务端已经断开了连接,如果现在到达服务端,服务端发送ack包,但是这时客户端不会有任何响应,服务端会浪费大量时间等待客户端的回应。
四次挥手
(1) TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送。
(2) 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。
(3) 服务器关闭客户端的连接,发送一个FIN给客户端。
(4) 客户端发回ACK报文确认,并将确认序号设置为收到序号加1。
客户端的状态变化为 FIN_WAIT1,FIN_WAIT2,TIME_WAIT,CLOSE;
服务端的状态变化为CLOSE_WAIT,LAST_ACK,CLOSE;
TIME-WAIT -等待足够的时间以确保远程TCP接收到连接中断请求的确认;
CLOSED->SYN_SENT->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT->CLOSED
服务器TCP状态迁移:
CLOSED->LISTEN->SYN_RECV->ESTABLISHED->CLOSE_WAIT->LAST_ACK->CLOSED
TCP如何保证可靠的传输?
数据包校验,超时重传,应答机制,对失序数据包重排序,流量控制
5、TCP拥塞控制
拥塞控制就是防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载。
1)慢开始与拥塞避免
发送方维持一个叫做**拥塞窗口**cwnd(congestion window)的状态变量。拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。发送方让自己的发送窗口等于拥塞窗口,另外考虑到接受方的接收能力,发送窗口可能小于拥塞窗口。
慢开始的思路是开始不要发送大量的数据,而是逐步增加(这里是倍数增加),超过设定的阈值的时候,会启用拥塞控制算法,拥塞窗口+1而不是加倍,当发生阻塞的时候,之前的阈值会改为发生拥塞时窗口的一半,然后把拥塞窗口设置为1,并启用慢启动算法。
2)快速重传和快速恢复
快重传要求接收方在收到一个失序的报文段后就立即发出重复确认(为的是使发送方及早知道有报文段没有到达对方)而不要等到自己发送数据时捎带确认。快重传算法规定,发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段,而不必继续等待设置的重传计时器时间到期。
快恢复算法:
①当发送方连续收到三个重复确认时,就执行“乘法减小”算法,把ssthresh门限减半。但是接下去并不执行慢开始算法。
②考虑到如果网络出现拥塞的话就不会收到好几个重复的确认,所以发送方现在认为网络可能没有出现拥塞。所以此时不执行慢开始算法,而是将cwnd设置为ssthresh的大小,然后执行拥塞避免算法。
6、TCP滑窗协议和回退N帧协议
发送窗口和接受窗口
发送窗口为1,接受窗口为1,停等协议
发送窗口>1,接受窗口为1,回退N帧协议
发送窗口>1,接受窗口>1,选择重传协议
  在后退n协议中,接收方若发现错误帧就不再接收后续的帧,即使是正确到达的帧,这显然是一种浪费。另一种效率更高的策略是当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层,但接收方仍可收下来,存放在一个缓冲区中,同时要求发送方重新传送出错的那一帧。一旦收到重新传来的帧后,就可以原已存于缓冲区中的其余帧一并按正确的顺序递交高层。这种方法称为选择重发(SELECTICE REPEAT),其工作过程如图所示。显然,选择重发减少了浪费,但要求接收方有足够大的缓冲区空间。
7、Http的报文结构
报文分为请求报文和响应报文
请求报文分为请求行 请求头 请求体
响应报文分为 响应行 响应头 响应体
请求行中包括请求方法(POST和GET),请求URL,HTTP协议及其版本
响应行中包括报文协议及其版本,状态码及其状态描述
POST和GET的区别:
1) get是从服务器上获取数据,post是向服务器传送数据;
2) get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制;
3) get安全性非常低,post安全性较高。但是执行效率却比Post方法好。
8、HTTP状态码及其含义
HTTP的响应状态码由5段组成:
1xx 消息,一般是告诉客户端,请求已经收到了,正在处理
2xx 处理成功,一般表示:请求收悉、我明白你要的、请求已受理、已经处理完成等信息.
3xx 重定向到其它地方。它让客户端再发起一个请求以完成整个处理。
4xx 处理发生错误,责任在客户端,如客户端的请求一个不存在的资源,客户端未被授权,禁止访问等。
5xx 处理发生错误,责任在服务端,如服务端抛出异常,路由出错,HTTP版本不支持等。
9、Http1.1和Http1.0的区别
1)HTTP/1.0协议使用非持久连接,即在非持久连接下,一个tcp连接只传输一个Web对象;
2)HTTP/1.1默认使用持久连接(然而,HTTP/1.1协议的客户机和服务器可以配置成使用非持久连接)。 在持久连接下,不必为每个Web对象的传送建立一个新的连接,一个连接中可以传输多个对象
10、Cookie与Session原理
cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。
11、电脑上访问一个网页,整个过程是怎么样的:DNS、HTTP、TCP、OSPF、IP、ARP
1)DNS来获取网站的IP地址,如果本地DNS服务器上得不到,需要借助于更高层的DNS服务器;
2)得到IP,下一步是使用TCP协议,建立TCP连接。
在TCP协议中,建立TCP需要与百度服务器握手三次,你先告诉服务器你要给服务器发东西(SYN),服务器应答你并告诉你它也要给你发东西(SYN、ACK),然后你应答服务器(SYN、ACK),总共来回了3次,称为3次握手。
其中TCP消息传输需要用到IP协议,OSPF协议,ARP协议
IP协议提供了源IP和目的IP,OSPF提供了路由的最佳路径,ARP将传输的路由器的IP地址转换为MAC地址,便于数据底层传输。
3)HTTP协议请求网页内容
12、Ping过程和ICMP报文
Ping过程:假定主机A的IP地址是192.168.1.1,主机B的IP地址是192.168.1.2,都在同一子网内,则当你在主机A上运行“Ping 192.168.1.2”
首先,Ping命令会构建一个固定格式的ICMP请求数据包,然后由ICMP协议将这个数据包连同地址“192.168.1.2”一起交给IP层协议(和ICMP一样,实际上是一组后台运行的进程),IP层协议将以地址“192.168.1.2”作为目的地址,本机IP地址作为源地址,加上一些其他的控制信息,构建一个IP数据包,并在一个映射表中查找出IP地址192.168.1.2所对应的物理地址(也叫MAC地址,熟悉网卡配置的朋友不会陌生,这是数据链路层协议构建数据链路层的传输单元——帧所必需的),一并交给数据链路层。后者构建一个数据帧,目的地址是IP层传过来的物理地址,源地址则是本机的物理地址,还要附加上一些控制信息,依据以太网的介质访问规则,将它们传送出去。
ICMP封装在IP数据包内部,其中包括8位类型,8位代码,16位检验和
当传送IP数据包发生错误--比如主机不可达,路由不可达等等,ICMP协议将会把错误信息封包,然后传送回给主机。给主机一个处理错误的机会,这 也就是为什么说建立在IP层以上的协议是可能做到安全的原因。ICMP数据包由8bit的错误类型和8bit的代码和16bit的校验和组成。而前 16bit就组成了ICMP所要传递的信息。
尽管在大多数情况下,错误的包传送应该给出ICMP报文,但是在特殊情况下,是不产生ICMP错误报文的。如下:
1)ICMP差错报文不会产生ICMP差错报文(出IMCP查询报文)(防止IMCP的无限产生和传送)
2)目的地址是广播地址或多播地址的IP数据报。
3)作为链路层广播的数据报。
4)不是IP分片的第一片。
5)源地址不是单个主机的数据报。这就是说,源地址不能为零地址、环回地址、广播地 址或多播地址
13、 C/S模式下使用socket通信,几个关键函数。
服务器调用socket()bind()listen()完成初始化后,调用accept()阻塞等待,处于监听端口的状态,客户端调用socket()初始化后,调用connect()发出SYN段并阻塞等待服务器应答,服务器应答一个SYN-ACK段,客户端收到后从connect()返回,同时应答一个ACK段,服务器收到后从accept()返回。
14、IP地址分类
A类 0.0.0.0-127.255.255.255(网络号7位)
B类 128.0.0.0-191.255.255.255 (网络号14位)
C类 192.0.0.0-223.255.255.255 (网络号21位)
指向网络的广播地址 netID.255.255.255
指向子网的广播 主机号为全1 有特定子网号的地址
15、路由器与交换机区别
1,路由器工作于OSI模型的网络层,能够识别IP地址,并根据IP地址转发数据包,并维护着路由表,能够基于路由表进行最佳路线选择;
2,路由器上还能开启ACL访问控制列表、NAT地址转换等功能,扩展网络应用;
3,传统交换机工作于OSI模型的数据链路层,能够识别MAC地址,根据MAC地址转发数据帧,并维护着一张桥表,根据桥表上MAC地址和端口的对应关系进行数据帧转发;
4,交换机能够隔离冲突域,并划分VLAN。

找工作之计算机网络复习相关推荐

  1. 找工作?该复习了!(转)

    摘自:http://www.cnblogs.com/hanxi/archive/2012/11/04/2753993.html 我把我找工作中遇到的知识点统计了下,并归类了下,希望可以帮到正在找工作的 ...

  2. 计算机网络基础专业找工作,2021计算机网络技术前景怎么样? 好找工作吗

    很多同学想知道计算机网络技术前景怎么样,以下是一些相关信息的整理,希望能对同学们有所帮助! 计算机网络技术前景 从目前的情况看,企业的IT技术管理岗位一般设置为企业信息主管.总监等: 工程技术岗位设置 ...

  3. 北理通信男找工作的经历及心得

    注:北理毕业的通信专业研究生写的,希望对大家也有所帮助. 找工作很久了,一直想写一写笔经面经,也给师弟师妹留下一些建议和忠告.但是工作没着落时没心思写,找到工作又懒得写.狠了狠心,却写出这么多字,看着 ...

  4. 程序员找工作那点事儿

    从7月中旬回武汉之后开始系统的复习,到9月下旬正式开始找工作,最后到10月中旬结束,前后历时三个月,从前期的职业定位,到中期的复习准备,最后到后期真枪实弹的笔试面试,个人感觉找工作就是个系统的工程,是 ...

  5. 计算机网络复习-第六章应用层

    计算机网络复习-第六章应用层 第六章 应用层 应用层协议概述 应用层协议特点 每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的 ...

  6. 说说找工作这些事儿(未完)

    本来想工作的事情落定之后,趁着切身体验写一些心得体会,给师弟师妹做一个参考,毕竟一些经验教训还是具有指导性意义的,结果一拖再拖拖到现在.现在孙总也要开始准备找工作了,说让我写个roadMap.既然面试 ...

  7. 春招大厂上岸学长带你有效春招找工作

    秋招差不多结束有一段时间了,陆陆续续还有一些公司在进行补招,在过去的三个月当中许多同学收获了比较满意的工作,也有同学收获甚微,甚至颗粒无收.不过没关系,只要还没毕业,大家还有机会争取到更好的工作机会, ...

  8. [找工作] 2019秋招|从春招到秋招,Java岗经验总结(收获AT)

    转自(有更多) https://blog.csdn.net/zj15527620802/article/month/2018/10 前言 找工作是一件辛酸而又难忘的历程.经历过焦虑.等待.希望,我们最 ...

  9. 计算机网络复习资料(前六章谢希仁版)

    计算机网络复习 作者:why will kill it 第一章 概述 internet和Internet的区别 以小写字母"i"开始的internet(互联网)是一个通用名词,它泛 ...

最新文章

  1. 软件测试需要学习什么技术
  2. 共享收集的图像处理方面的一些资源和网站。
  3. 网站优化之如何辨别关键词的相关性?
  4. HTML5 本地文件操作之FileSystemAPI整理(一)
  5. 五邑大学数据结构邢润丹实验_哪个大学楼最高:全国大学高楼海拔高度排名
  6. React对标签属性进行限制(props)
  7. “页面制作人员”?“页面工程师”?“页面架构师”?滚一边去!
  8. 今天开通android博客 该认真学习了
  9. Data Pump -- Example
  10. .NET MVC4 本地正常 部署 服务器错误
  11. 超级推荐!!值得收藏的黑客系列书:《黑客攻防实战xx》系列图书简介,一共4本
  12. C# WinForm打开PDF文件
  13. Spacy 常见词性标注
  14. matlab中sumf,使用SUMIF函数根据日期区间统计的方法
  15. 一个阿里前端工程师的成长之路
  16. mysql动态表单设计与实现_动态表单的数据库结构设计
  17. (三)安装seafile服务器
  18. 服务自省,Dubbo面向了应用级
  19. 为Array对象添加一个去除重复项的方法
  20. 转载 骏马金龙第9章 Linux进程和信号超详细分析

热门文章

  1. 漫谈反问题及一些题外话
  2. 动画重定位(相同骨架)
  3. 狗爹这名字取得好难听
  4. stm32f103vet6通过L298N驱动12V直流无刷电机过程含代码
  5. Wasserstein Disstance
  6. Scratch(十四):恭喜发财
  7. Ubuntu(18.04LTS)从tty终端模式返回到图形桌面
  8. 基于thinkphp3.2微信公众号模板消息接口通知示例
  9. Golang的select多路复用以及channel使用实践
  10. 立体便签本是怎么弄出来的有何用处,可以在电脑上用吗