Go SCTP!

Video thumbnail (Frame 0) Video thumbnail (Frame 1552) Video thumbnail (Frame 2977) Video thumbnail (Frame 3840) Video thumbnail (Frame 14052) Video thumbnail (Frame 21293) Video thumbnail (Frame 23135) Video thumbnail (Frame 26277) Video thumbnail (Frame 27455) Video thumbnail (Frame 28203) Video thumbnail (Frame 29203) Video thumbnail (Frame 32452) Video thumbnail (Frame 33298) Video thumbnail (Frame 34840) Video thumbnail (Frame 37765) Video thumbnail (Frame 39277) Video thumbnail (Frame 41891) Video thumbnail (Frame 43227) Video thumbnail (Frame 45327) Video thumbnail (Frame 48753) Video thumbnail (Frame 51602)
Video in TIB AV-Portal: Go SCTP!

Formal Metadata

Title
Go SCTP!
Subtitle
SCTP implemented in the language Go
Title of Series
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
Identifiers
Publisher
Release Date
2012
Language
English

Content Metadata

Subject Area
Abstract
Two technologies; both new, exciting, with lots of new features, so why not put them together and have even more fun? This talk is about my effort to combine two (relatively) new technologies; Stream Control Transmission Protocol (SCTP) and the computer language Go, by implementing the functionality of SCTP as a library in Go. SCTP is a reliable message oriented transport protocol, has resistance against flooding and masquerade attacks and includes congestion avoidance procedures. First standerdized in October 2000 by the Internet Engineering Task Force (IETF) in RFC 2960 and later updated by RFC 4960. Go is a concurrent, statically typed compiled and garbage collected language with a syntax broadly similar to C. The initial design of the programming language Go started as an internal Google Inc. project in 2007 and was officially announced and open sourced in 2009. FreeBSD has the reference implementation for SCTP and Go is also available on this platform, so it made sense to do the first implementation on this OS. I'm currently finishing my Masters in Computer Science (part time) and my dissertation subject is the implementing of SCTP in Go. I've already started to implement the library and hope to finish my dissertation in about 2/3 months time. The talk will be based on this work. Outline of the talk (this roughly follows the outline of my dissertation): * Give some extra background information about Go and SCTP, describe characteristics etc. * Explain my approach on how to implement a new network library in the Language Go. * Do a comparison on how network programming is done (first TCP) in C and Go. * Show how TCP is implemented in Go. * Show how I implemented SCTP in Go. * Do a comparison on how network programming is done with SCTP in C and Go. * Demonstrate the performance differences between similar data transfer techniques of TCP, UDP and SCTP * Demonstrate the performance differences between the same data transfer techniques implemented in C and Go. * Question time
Broadcasting (networking) Software Videoconferencing
Data transmission Communications protocol Control flow
Characteristic polynomial Streaming media Communications protocol Message passing Abstraction Multiplication Associative property
Execution unit Polymorphism (materials science) Coroutine Physical system
Continuum hypothesis Error message Server (computing) String (computer science) Hill differential equation Electronic mailing list Chi-squared distribution
Software engineering System call String (computer science) Assembly language Infinite conjugacy class property Code Greatest element
Error message Core dump
Meta element Error message Core dump output Lipschitz-Stetigkeit Information security Local ring
Mathematics System call System on a chip Code Data structure
Wrapper (data mining) Strut Information Message passing Data structure Flag
Inclusion map Strut Revision control Information Data structure
Context awareness Error message Strut Interface (computing) Implementation Local ring Flag
Email Wechselseitige Information Error message Interface (computing) Information Control flow Message passing Data structure
Feedback