Giter Site home page Giter Site logo

computer_network_practice's Introduction

TJU_TCP

  • 本实验需要根据TCP的标准文档,在应用层实现TCP协议,称为TJU_TCP。
  • 协议中需要实现连接管理,通过“三次握手与四次挥手”实现建立连接与关闭连接的功能;对于流量控制,协议需要建立发送以及接收窗口,通过窗口滑动的原理实现,已达到消除发送方使接收方缓存溢出的可能性的目的;此外,协议需要实现可靠数据传输,在网络出现不可靠的状态时,也能可靠传输指定的文件并得以按序接收;最后,协议需要实现拥塞控制功能,可以实时根据网络中的业务状况动态调整拥塞窗口的大小。
  • 协议中的功能全部得以实现,并在本地与自动验收网站全部通过测试,已成功验证了四个基本功能。

主要为四个部分:连接管理、流量控制、可靠数据传输、拥塞控制。

  • 连接管理:TCP发送方与接收方在数据传输前需要进行三次握手建立连接,在数据传输完之后需要进行四次挥手断开连接,需要利用SYN,FIN,ACK等报文中的字段。
  • 流量控制:要实现流量控制功能,消除发送方使接收方缓存溢出的可能性,具体途径是设计滑动窗口,并利用SWS更新算法等,发送方维护rwnd。
  • 可靠数据传输:可靠数据传输服务确保一个进程从其接收缓存中读出的数据流是无损坏、无间隙、非冗余和按序的数据流;即该字节流与连接的另一方端系统发送出的字节流是完全相同。TCP利用报文段头部结构中的检验和,序号,确认号来实现这一功能,并通过设重传计时器,利用快速重传以及选择确认的方式来提高数据传的输性能和数据传输的可靠性。
  • 拥塞控制需要解决网络引起的拥塞问题,具体要实现的是慢启动、拥塞避免、快速恢复算法。

computer_network_practice's People

Contributors

lllirunze avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.